Skip to content

Add completed PropertyDescriptor type#5284

Open
HalidOdat wants to merge 1 commit intoboa-dev:mainfrom
HalidOdat:feature/complete-property-descriptor
Open

Add completed PropertyDescriptor type#5284
HalidOdat wants to merge 1 commit intoboa-dev:mainfrom
HalidOdat:feature/complete-property-descriptor

Conversation

@HalidOdat
Copy link
Copy Markdown
Member

Refactors property descriptor handling by replacing the builder-style PropertyDescriptor with a more explicit CompletePropertyDescriptor enum. This makes things clearer and more type-safe. The spec always stores complete property descriptors in objects.

Since descriptors are always complete, this allows us to skip some checks and may allow the compiler to better optimize the code. Additionally this also reduces the memory usage for sparse generic arrays, CompletePropertyDescriptor is 24 bytes vs. PropertyDescriptor 40 bytes (64bit arch).

@github-actions github-actions bot added C-Tests Issues and PRs related to the tests. C-Builtins PRs and Issues related to builtins/intrinsics C-VM Issues and PRs related to the Boa Virtual Machine. Waiting On Review Waiting on reviews from the maintainers labels Mar 30, 2026
@github-actions github-actions bot added this to the v1.0.0 milestone Mar 30, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 30, 2026

Test262 conformance changes

Test result main count PR count difference
Total 52,963 52,963 0
Passed 50,735 50,737 +2
Ignored 1,426 1,426 0
Failed 802 800 -2
Panics 0 0 0
Conformance 95.79% 95.80% +0.00%
Fixed tests (2):
test/staging/sm/Symbol/species.js (previously Failed)
test/staging/sm/Promise/promise-species.js (previously Failed)

Tested main commit: f5e88de558e038f0ae675a012d59917a098f44b6
Tested PR commit: 1594d05822d69d4bbe61769fe1bcab8ace1374d9
Compare commits: f5e88de...1594d05

@HalidOdat HalidOdat force-pushed the feature/complete-property-descriptor branch 2 times, most recently from 38fea6d to 40d9a5e Compare April 1, 2026 16:18
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 1, 2026

Codecov Report

❌ Patch coverage is 58.00933% with 270 lines in your changes missing coverage. Please review.
✅ Project coverage is 59.59%. Comparing base (6ddc2b4) to head (1594d05).
⚠️ Report is 925 commits behind head on main.

Files with missing lines Patch % Lines
core/engine/src/object/internal_methods/mod.rs 66.46% 56 Missing ⚠️
core/engine/src/property/mod.rs 67.58% 47 Missing ⚠️
core/engine/src/builtins/proxy/mod.rs 11.42% 31 Missing ⚠️
core/engine/src/object/property_map.rs 54.41% 31 Missing ⚠️
core/engine/src/object/mod.rs 64.06% 23 Missing ⚠️
core/engine/src/value/display/object.rs 31.81% 15 Missing ⚠️
core/engine/src/builtins/builder.rs 74.35% 10 Missing ⚠️
core/engine/src/module/namespace.rs 0.00% 9 Missing ⚠️
core/engine/src/value/display/array.rs 25.00% 9 Missing ⚠️
core/engine/src/object/internal_methods/string.rs 14.28% 6 Missing ⚠️
... and 12 more
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #5284       +/-   ##
===========================================
+ Coverage   47.24%   59.59%   +12.35%     
===========================================
  Files         476      589      +113     
  Lines       46892    63663    +16771     
===========================================
+ Hits        22154    37940    +15786     
- Misses      24738    25723      +985     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@HalidOdat HalidOdat force-pushed the feature/complete-property-descriptor branch from 40d9a5e to 1594d05 Compare April 1, 2026 17:01
@HalidOdat HalidOdat marked this pull request as ready for review April 1, 2026 17:19
@HalidOdat HalidOdat requested a review from a team as a code owner April 1, 2026 17:19
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-Tests Issues and PRs related to the tests. C-VM Issues and PRs related to the Boa Virtual Machine. Waiting On Review Waiting on reviews from the maintainers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant