-
Notifications
You must be signed in to change notification settings - Fork 71
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
Boot-time configurable heap constants #899
Conversation
…into dyn-heap-args
@wenyuzhao can you suppress some warnings on x86? |
V8 binding tests will fail until #472 is merged |
Can you run performance tests for the PR? I am wondering if we would need a feature like |
will do
Yes, this is possible. Let's wait for the performance test results and see if it is worth doing so. |
I added some tests for |
Interesting. I can't even pass all the dummyvm tests on the master branch https://gist.github.com/wenyuzhao/ed9614dfec7b1fdac7bee8664b547e46 Is |
No. Each test module (file) is executed separately:
You can do |
Maybe try a different heap layout for the failing test on macos, or simply ignore that test on macOS. I think either is okay. |
The address is too low for 64-bit macOS https://stackoverflow.com/questions/46916112/osx-ld-why-does-pagezero-size-default-to-4gb-on-64b-osx |
Switched to a different address on macos. Now all the checks are passed. |
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.
Looks good. Thanks for the PR. Let's merge this after the current release (0.19) which should be done today.
This CL refactors the
vm_layout_constants
related code and changes all the related compile-time constants to run-time constants, so that VM bindings can configure them during boot time based on dynamic user inputs.This is a necessary refactoring to support compressed pointers. For most of the VMs (e.g. OpenJDK), compressed pointers are enabled at run-time based on command line arguments, and VM bindings should be able to enable compressed pointer heap dynamically during the VM boot process. Such a process usually involves dynamically configuring heap ranges, space memory layout, and choosing a different
VMMap
implementation [1]. Thus allvm_layout_constants
, including heap constants, should be made as boot-time configurable, instead of compile-time constants.This CL also makes risc-v's 39-bit heap support easier, as it now should only involve adding a new set of
vm_layout_constants
.[1] This is already done by #732
Benchmark results: Almost no performance impact
http://squirrel.anu.edu.au/plotty-public/wenyuz/v8/p/NkK9YG