Review request for: 7191786 retransformClasses() does not pass in LocalVariableTypeTable of a method

Dmitry Samersoff Dmitry.Samersoff at oracle.com
Tue Aug 21 11:47:05 PDT 2012


Serguei,

jvmtiClassFileReconstituter.cpp:

178: attr_count was 1 but become 0 for the case

has_localvariable_table() == true && local_variable_table_length == 0

is it intentional?


202: local_variable_type_table_length
     is always 0 if local_variable_table_length == 0

     so I think if should be nested.

216: It might be better to place both attr_size changes together.

   i.e.

if (local_variable_table_length != 0) {
  ++attr_count;
  LocalVariableTableElement *elem = method->localvariable_table_start();
  for (int idx = 0; idx < local_variable_table_length; idx++) {
    ...
  }

   // Big comment block

   attr_size += 2 + 4 + 2 + local_variable_table_length ...
   if (local_variable_type_table_length != 0) {
      ++attr_count;
      attr_size += 2 + 4 + 2 + local_variable_type_table_length  ...
   }

}

-Dmitry


On 2012-08-21 22:13, serguei.spitsyn at oracle.com wrote:
> Hello,
> 
> 
> Please, review the fix for:
>   http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7191786
> 
> Open webrev:
> http://cr.openjdk.java.net/~sspitsyn/webrevs/2012/7191786-JVMTI-LVTT/
> 
> 
> Summary:
> 
>  The following CR was recently fixed:
>   http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7064927
> 
>  But the same issue exists for the LocalVariableTypeTable attribute.
> 
>  The fix was tested with the modified test:
> test/java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.sh
> 
> The modification is that a local variable with generic signature is added
> to the class DummyClassWithLVT.java:
> http://cr.openjdk.java.net/~sspitsyn/webrevs/2012/7191786-JLI-Test-For-JVMTI-LVTT/
> 
> 
> The test patch will be integrated into the jdk8/tl after the HotSpot fix
> is promoted.
> 
> 
> Thanks,
> Serguei


-- 
Dmitry Samersoff
Java Hotspot development team, SPB04
* There will come soft rains ...




More information about the hotspot-runtime-dev mailing list