-
Notifications
You must be signed in to change notification settings - Fork 239
Port closure optimizations #1313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
c008353 to
4929037
Compare
bnoordhuis
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work.
| uint16_t var_count; | ||
| uint16_t defined_arg_count; /* for length function property */ | ||
| uint16_t stack_size; /* maximum stack size */ | ||
| uint16_t var_ref_count; /* number of local variable references */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This field creates a 6 byte padding hole on 64 bits architectures because of the alignment requirement of the next field. Can maybe be eliminated with some reshuffling.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll take a look!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did some AI assisted suffling of fields :-) Can you PTAL?
|
FWIW, got this from struct_layout.py: Maybe it can be further improved to avoid the 8 byte hole? |
Ref: bellard/quickjs@ae7219b