RFR: fix shenandoah store checks and implicit null checks on aarch64

Roland Westrelin rwestrel at redhat.com
Thu Jun 22 16:11:23 UTC 2017


> Presumably this isn't a patchable address, so it's emitted as a simple
> integer constant?  If it's of the correct type, we should output it as
> mov(reg, address).  This will not change size.

It's a patch I worked on a while back so I don't have all the details
fresh in my mind but in MacroAssembler::stop()

  mov(c_rarg0, (address)msg);

would call:

  inline void mov(Register dst, address addr)
  {
    mov_immediate64(dst, (u_int64_t)addr);
  }

and MacroAssembler::mov_immediate64() is quite a bit more involved than
a simple mov.

Anyway, I don't like my change so I welcome any other suggestion.

Roland.


More information about the shenandoah-dev mailing list