Request for reviews (L): 6986046 C1 ValueStack cleanup

Christian Thalinger christian.thalinger at oracle.com
Wed Sep 29 02:59:38 PDT 2010


On Wed, 2010-09-22 at 13:41 -0700, Tom Rodriguez wrote:
> Looks good.
> 
> tom
> 
> On Sep 21, 2010, at 2:03 AM, Roland Westrelin wrote:
> 
> > 
> > Cleanup contributed by Christian Wimmer to the C1 ValueStack.
> > 
> > http://cr.openjdk.java.net/~roland/6986046/webrev.00/

That change:

src/share/vm/c1/c1_Instruction.hpp:

-  Instruction(ValueType* type, bool type_is_constant = false, bool create_hi = true)
-  : _bci(-99)
-  , _use_count(0)
+  Instruction(ValueType* type, ValueStack* state_before = NULL, bool type_is_constant = false, bool create_hi = true)
+  : _use_count(0)

breaks:

1965 LEAF(OsrEntry, Instruction)
1966  public:
1967   // creation
1968 #ifdef _LP64
1969   OsrEntry() : Instruction(longType, false) { pin(); }
1970 #else
1971   OsrEntry() : Instruction(intType,  false) { pin(); }
1972 #endif

and:

1983   ExceptionObject() : Instruction(objectType, false) {

Unfortunately only a very new GCC (gcc version 4.5.1 (Ubuntu
4.4.1-4ubuntu9)) complains about the error:

src/share/vm/c1/c1_Instruction.hpp: In constructor ‘OsrEntry::OsrEntry()’:
src/share/vm/c1/c1_Instruction.hpp:1971:43: error: converting ‘false’ to pointer type for argument 2 of ‘Instruction::Instruction(ValueType*, ValueStack*, bool, bool)’

I'm not sure what the right fix is.  Maybe only pass the type and leave
the rest to the default values.

-- Christian



More information about the hotspot-compiler-dev mailing list