RFR: Cleanup obsolete Shenandoah changes in ciInstanceKlass

Roman Kennke rkennke at redhat.com
Mon Nov 19 19:48:33 UTC 2018


Uhuh. Let me check it. Maybe it was not so long ago, but instead
happened with some recent changes related to GC-interfaces.

Roman

> On 11/19/18 11:31 AM, Aleksey Shipilev wrote:
>> On 11/19/18 10:45 AM, Roman Kennke wrote:
>>> I believe the changes in ciInstanceKlass::get_canonical_holder() are a
>>> leftover from *long* time ago when we did not create extra slices for -8
>>> offset. We can remove it.
>>>
>>> Testing: tier3_gc_shenandoah
>>>
>>> http://cr.openjdk.java.net/~rkennke/cleanup-ciinstanceklass/webrev.00/
>>
>> Looks good to me.
> 
> I wonder what is the definition of "leftover from *long* time ago when we did not create extra
> slices for -8 >> offset", because sh/jdk11 fails with this patch backported. What is up with that?
> Are we only safe in sh/jdk?
> 
> #  Internal Error
> (/home/shade/trunks/shenandoah-jdk11/src/hotspot/share/ci/ciInstanceKlass.cpp:209), pid=20684, tid=20715
> #  assert(offset >= 0 && offset < layout_helper()) failed: offset must be tame
> 
> Current CompileTask:
> C2:    409   82       4       java.lang.String::charAt (25 bytes)
> 
> Stack: [0x00007f5aec4f8000,0x00007f5aec5f9000],  sp=0x00007f5aec5f4eb0,  free space=1011k
> Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native
> code)
> V  [libjvm.so+0x1a69e84]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*,
> Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x314
> V  [libjvm.so+0x1a6ad6f]  VMError::report_and_die(Thread*, void*, char const*, int, char const*,
> char const*, __va_list_tag*)+0x2f
> V  [libjvm.so+0xb97d0a]  report_vm_error(char const*, int, char const*, char const*, ...)+0x12a
> V  [libjvm.so+0x94e606]  ciInstanceKlass::get_canonical_holder(int)+0x396
> V  [libjvm.so+0xaa3c3c]  Compile::flatten_alias_type(TypePtr const*) const+0xbdc
> V  [libjvm.so+0xaac13c]  Compile::find_alias_type(TypePtr const*, bool, ciField*)+0x8c
> V  [libjvm.so+0x17777fc]  ShenandoahBarrierSetC2::shenandoah_read_barrier_impl(GraphKit*, Node*,
> bool, bool, bool) const+0x2cc
> V  [libjvm.so+0x15edddb]  Parse::do_get_xxx(Node*, ciField*, bool)+0x43b
> V  [libjvm.so+0x15f090a]  Parse::do_field_access(bool, bool)+0xafa
> 
> -Aleksey
> 



More information about the shenandoah-dev mailing list