LRB and 32-bit compressed oops
Aleksey Shipilev
shade at redhat.com
Mon Mar 25 20:17:21 UTC 2019
On 3/25/19 8:19 PM, Roman Kennke wrote:
> For some reason I don't seem to be getting your asm output. But can you
> try the following patch real quick?
>
> diff -r 6277fcfd1269
> src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
> --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Mon Mar
> 25 19:57:08 2019 +0100
> +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Mon Mar
> 25 20:18:53 2019 +0100
> @@ -1508,7 +1508,7 @@
> IfNode* iff = unc_ctrl->in(0)->as_If();
> phase->igvn().replace_input_of(iff, 1, phase->igvn().intcon(1));
> }
> - Node* addr = new AddPNode(new_val, uncasted_val,
> phase->igvn().MakeConX(ShenandoahBrooksPointer::byte_offset()));
> + Node* addr = new AddPNode(new_val, new_val,
> phase->igvn().MakeConX(ShenandoahBrooksPointer::byte_offset()));
> phase->register_new_node(addr, ctrl);
> assert(val->bottom_type()->isa_oopptr(), "what else?");
> const TypePtr* obj_type = val->bottom_type()->is_oopptr();
That does not work: the generated code is the same.
-Aleksey
More information about the shenandoah-dev
mailing list