RFR: Fix ExtendedDTraceProbes with Shenandoah
Zhengyu Gu
zgu at redhat.com
Fri Sep 21 13:35:11 UTC 2018
On 09/21/2018 09:21 AM, Roland Westrelin wrote:
>
>> The interesting question is: is this reproducible with upstream+G1
>> somehow? Can you make a testcase against G1, and fix it upstream?
>
> It's usually quite hard to write a simple test case for a very specific
> reg alloc problem. I will submit it upstream anyway.
>
>> Also, might we have more 'hidden-ctrl-flow-bugs' lurking in our code?
>
> It's quite possible. Hidden ctrl flow constructs are quite error prone
> and fragile.
>
It looks like just a register away to get G1 to stumble, no idea how to
construct a testcase.
120 rtcall SharedRuntime::dtrace_method_entry
move [stack:16|L] [rbx|L] *<= G1 has base in rbx instead of rsi*
move [dbl_stack:18|J] [rdirdi|J]
122 move [Base:[rbx|L] Index:[rdirdi|J] Disp: 0|L] [rax|L]
124 membar_acquire
126 move [lng:16|J] [rsirsi|J]
128 cmp [NE] [rdirdi|J] [rsirsi|J]
130 branch [NE] [label:0x00007fd7a404be68]
132 cmp [EQ] [rbx|L] [obj:0x0000000000000000|L]
134 branch [EQ] [label:0x00007fd7a404be68]
136 move [Base:[rbx|L] Disp: 8|^@] [rsi|M]
138 move [Base:[rsi|M] Disp: 395|B] [rsi|I]
-Zhengyu
> Roland.
>
More information about the shenandoah-dev
mailing list