harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Asaf Yaffe <asaf_ya...@yahoo.com>
Subject [drlvm][verifier] Using the Harmony verifier code for computing the StackMapTable attribute
Date Tue, 30 Oct 2007 12:42:36 GMT
Hi,

My name is Asaf Yaffe and I am a committer on the Eclipse Test and Performance Tool Platform
(TPTP) Java Profiler project. We are currently working on updating our Binary Code Instrumentation
(BCI) engine to support the new Java 6 class file format (version 50.0) and the new StackMapTable
attribute. When the BCI engine modifies the byte-codes of a method, it must recompute the
StackMapTable attribute to successfully pass the Java 6 verifier. The current implementation
of Java 6 gracefully “falls-back” to the old verification scheme (which does not depend
on the StackMapTable attribute) in face of a missing/invalid StackMapTable attribute. This
may not be the case in future Java versions, and tool writers are encouraged to update their
BCI-based tools (see here for more information: https://jdk.dev.java.net/verifier.html). 

Instead of developing StackMapTable calculation for the BCI engine, we would like to explore
the option of reusing code from the Harmony byte-code verifier to recompute the StackMapTable
of a method from its byte-codes. Ideally, we would like to have a stand-alone library (provided
in source or binary form – exact distribution model should be discussed) which exports two
APIs:
-    IsStackMapTableAttributeValid(): given the method byte-codes and StackMapTable, checks
whether the StackMapTable is valid.
-    RecomputeStackMapTableAttribute(): given the method byte-codes, produces a new valid
StackMapTable that can be used by the Java 6 verifier of any Java 6-compliant JVM.

With best regards,

Asaf Yaffe
Eclipse TPTP Committer, JVMTI Profiler component.




__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message