RFR(M): 8166317: InterpreterCodeSize should be computed

Andrew Haley aph at redhat.com
Tue Oct 10 07:42:27 UTC 2017

On 09/10/17 20:24, Volker Simonis wrote:
> Unfortunately we can't easily generate these stubs during
> 'stubRoutines_init1()' because
> 'generate_dirty_card_log_enqueue_if_necessary()' needs the byte map
> base address which is only initialized in
> 'CardTableModRefBS::initialize()' during 'univers_init()' which
> happens after 'stubRoutines_init1()'.

Yes you can, you can do something like we do for narrow_ptrs_base:

    if (Universe::is_fully_initialized()) {
      mov(rheapbase, Universe::narrow_ptrs_base());
    } else {
      lea(rheapbase, ExternalAddress((address)Universe::narrow_ptrs_base_addr()));
      ldr(rheapbase, Address(rheapbase));

Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the hotspot-dev mailing list