Skip to content

docs: add JsObject design document#5099

Draft
ParthMozarkar wants to merge 1 commit intoboa-dev:mainfrom
ParthMozarkar:docs/js-object
Draft

docs: add JsObject design document#5099
ParthMozarkar wants to merge 1 commit intoboa-dev:mainfrom
ParthMozarkar:docs/js-object

Conversation

@ParthMozarkar
Copy link

Description

This PR addresses issue #5097 by adding a design document (docs/js_object.md) that details the internal architecture and behavior of JsObject in Boa.

As part of the overarching design documentation tracking issue (#3938), this document covers:

  • The role of JsObject within the engine.
  • Its internal VTableObject and Object representation and memory management via boa_gc.
  • The property storage model (Shapes/Hidden Classes, array elements, and internal slots).
  • How JsObject interacts with prototypes, shapes, and the garbage collector.

Testing

  • Documentation added correctly.
  • Readability and formatting verified.

Resolves #5097
Contributes to #3938

@github-actions github-actions bot added Waiting On Review Waiting on reviews from the maintainers C-Documentation update documentation C-Builtins PRs and Issues related to builtins/intrinsics and removed Waiting On Review Waiting on reviews from the maintainers labels Mar 15, 2026
@github-actions github-actions bot added this to the v1.0.0 milestone Mar 15, 2026
@github-actions
Copy link

Test262 conformance changes

Test result main count PR count difference
Total 52,963 52,963 0
Passed 50,070 50,070 0
Ignored 2,072 2,072 0
Failed 821 821 0
Panics 0 0 0
Conformance 94.54% 94.54% 0.00%

Tested main commit: 3016f492d02a06033e11269fdcef603d293222c4
Tested PR commit: fa81198c7cc626564ed1725ab1b6a918cd5c9cbc
Compare commits: 3016f49...fa81198

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-Builtins PRs and Issues related to builtins/intrinsics C-Documentation update documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add design document for JsObject

1 participant