On Nov 30, 2010, at 4:35 AM, John Rose wrote:
>> src/share/vm/oops/constantPoolOop.hpp:
>> 
>> -  void copy_entry_to(int from_i, constantPoolHandle to_cp, int to_i, TRAPS);
>> +  static void copy_entry_to(constantPoolHandle from_cp, int from_i, 
>> constantPoolHandle to_cp, int to_i, TRAPS);
>> 
>> Maybe I'm missing the obvious here but why do need to pass a handle in?  
>> There is nothing fancy going on in that method.
> 
> In principle, the call to 'klass_at' could trigger a GC.  We know it won't, 
> because of the tag of the CP entry.  But that requires a private, invisible 
> contract with the present implementation of 'klass_at'.  It is safer to use 
> the handle.  Since I had to introduce a handle in copy_cp_to_impl, it was 
> natural to move it down into the per-entry routine.

I see.  That makes sense.

> Thanks.  Can I cite you as a reviewer on both change sets?

Sure.

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

Reply via email to