RFR: Fix ExtendedDTraceProbes with Shenandoah
Roman Kennke
rkennke at redhat.com
Fri Sep 21 13:38:56 UTC 2018
Am 21.09.2018 um 15:35 schrieb Zhengyu Gu:
>
>
> 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]
>
Hmm. Ok then.
Roman
More information about the shenandoah-dev
mailing list