-
Notifications
You must be signed in to change notification settings - Fork 752
Evaluate destination subtrees early when deferring destination eval #21195
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
Ready for merge |
Jenkins test sanity xlinux jdk8,jdk23 |
@rmnattas you might need to take a look at the failures. |
|
@rmnattas please open an infra issue for that. Could be a config problem related to hostname. |
In x86 ArrayStoreCHK, with OffHeap the destination tree evaluation is deferred but its subtrees still need to be evaluated early especially if subtrees are complex and might introduce more instructions and virtual-registers.
in x86-64 addressing modes, the scale value can be 1,2,4,or8 (i.e. index not shifted or 1/2/3 left shifted ... naturally aligned with the typical array element access as well). the index is expected to be in a register as usual (otherwise, it should be constant-folded already) ... that component is represented in our IL as |
PR ready for merge. Extra condition and assert is sufficient to catch unexpected cases and after discussions trying to tailor for the different addressing modes would be too complex given that 1) this is for off-heap only and 2) its a temporary fix until commoning dataAddr is enabled. |
Jenkins test sanity xlinux jdk8,jdk21 |
In x86 ArrayStoreCHK, with OffHeap the destination tree evaluation is deferred but its subtrees still need to be evaluated early especially if subtrees are complex and might introduce more instructions and virtual-registers.
WIP: Testing