Skip to content

Add optional 64-bit NaN boxing (JS_NAN_BOXING_64) - #571

Closed
j-olivier wants to merge 1 commit into
bellard:masterfrom
j-olivier:feature/nan-boxing-64
Closed

j-olivier wants to merge 1 commit into
bellard:masterfrom
j-olivier:feature/nan-boxing-64

Conversation

@j-olivier

Copy link
Copy Markdown

Proposal for a 64 bits NaN boxing on 64 bits platforms, using the existing mecanism for 32 bits platforms.
Minimal change with a hard limit at 44 bits pointer value, but offers +12% average performance improvement over benchmarks\v8

@bellard

bellard commented Oct 29, 2026

Copy link
Copy Markdown
Owner

Interesting. On which CPU did you measure the 12% gain ? On x86_64, it is 1% slower which is better than I thought.

@bellard

bellard commented Oct 31, 2026

Copy link
Copy Markdown
Owner

I just enabled 64 bit nan boxing with 47 bit pointers so that it works on most targets. I also reduced the memory usage of JSObject properties.

@bellard bellard closed this Oct 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants