On Jul 17, 2012, at 4:04 PM, Christian Thalinger wrote:

>> 
>> I see in several files next code pattern. Should we call 
>> throw_IncompatibleClassChangeError() as we do in other places?:
>> 
>> +  if (!EnableInvokeDynamic) {
>> +    // rewriter does not generate this bytecode
>> +    __ should_not_reach_here();
>> +    return;
>> +  }
> 
> Hmm.  This really should not happen and EnableInvokeDynamic is on by default 
> anyway.  I doubt someone turns it off.

It's now a diagnostic switch.  It can be used to verify that an app. is not 
using 292, which is occasionally helpful.

>> constantPoolOop.cpp:
>> Why not use guarantee() for bad operants?
> 
> Not sure.  John?

The code in that file uses assert; I think I'm following the existing practice 
there.  The CP code operates after initial verification passes, so assert is 
suitable, I think.

>> Why you need separate scopes in resolve_bootstrap_specifier_at_impl()?
> 
> To keep oops from being visible.  Might result in bad crashes.

Yes.  An alternative is to have the x_oop variables visible at top level, but 
to put in DEBUG_ONLY(x_oop = NULL).  Having the temporary scoped seems cleaner 
to me, but maybe my sense of style is off here.

> 
> I will refresh the review patch in mlvm.  Thank you!

Yes, thanks!

— John
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to