6953477: review request for portability improvements to Hotspot

Tom Rodriguez tom.rodriguez at oracle.com
Thu Jul 29 10:18:22 PDT 2010


Why isn't Thread::cache_global_variables defined in thread.hpp with an appropriate comment instead of being declared in every platform dependent hpp?  It looks weird since it doesn't do anything at all on our current platforms.  I understand that the ARM port caches are few variables in the Thread for easy access but it should be declared better than it is.

The print_location changes in os::print_context are interesting, if a little verbose.  Do you have an example of what the output will look like?

You should make equivalent changes in os_windows_x86.cpp too.

src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp:

you changed the formatting of the existing printing, with an extra leading ',' and a missing st->cr().

c1_Compilation.hpp:

Why don't you just clamp NMethodSizeLimit to 32K instead?

c1_FrameMap.hpp:

why are you changing nof_caller_save_cpu_regs from an enum to a variable?

src/share/vm/memory/allocation.cpp

delete the now unused copy of BlocksToKeep.

frame.cpp:

why a special case for ppc?

javaFrameAnchor.cpp:

why the changes to returning last_Java_pc?

jniHandles.cpp:

What's the point of these changes?  They expose _block_list in product but don't actually enable the code that updates block_list so they don't do anything useful.

      #ifndef PRODUCT
      // Link new block to list of all allocated blocks
      block->_block_list_link = _block_list;
      _block_list = block;
      #endif

Can these changes just be dropped?

os.cpp:

why was the default for _processor_count changed to 1?

c1_CodeStubs.hpp:

set_obj doesn't appear to be used anywhere.

c1_LIRAssembler.cpp:

Remove the ifdef and make the new ppc code the standard one.  It should be NativeGeneralJump but we've never had a problem before because NativeCall::instruction_size and NativeGeneralJump::instruction_size are the same on both sparc and intel.  I'm a little surprised you didn't have to correct the use in c1_Runtime1.cpp.  Presumably NativeCall::instruction_size is smaller than NativeGeneralJump::instruction_size?

tom

On Jul 28, 2010, at 7:40 AM, Bob Vandette wrote:

> Here are a set of changes that we're planning on pushing into the openjdk hotspot repository.
> 
> http://cr.openjdk.java.net/~bobv/6953477/webrev.00/
> 
> They include:
> 
> 1. Cross Compilation improvements
> 2. Shared code changes for ARM and PPC
> 3. Software floating point support
> 4. Improvements to the hotspot crash log
> 
> There are a few areas that could use additional factoring but these will be done under a seperate
> CR.
> 
> 
> Bob Vandette
> Oracle
> 



More information about the hotspot-dev mailing list