Byte code verification source code location

Krystal Mo krystal.mo at oracle.com
Mon Apr 8 19:25:24 PDT 2013


Apparently the split verifier implements the algorithm as described in 
the JVM spec. So there should be no problem if you implement the same 
algorithm.
On borrowing code directly, I'm not so sure. Not a lawyer. I'd leave 
this topic to someone else.

For implementing the split verifier in Jikes RVM, though, a better 
source of reference would be the verifier in Maxine VM [1].
It can run as a standalone program, and it's written in Java for a 
metacircular JVM, which is exactly what the GSoC project suggestion is 
talking about.
Its license is in GPLv2 (whereas OpenJDK is licensed under GPLv2+CE 
under some constraints); I'd leave it to someone else to explain how 
compatible that is with Jikes RVM's EPL.
You can find more information on Maxine VM at [2], and the source code 
for the verifier can be found at [3].

- Kris

[1]: https://blogs.oracle.com/dns/entry/yet_another_offline_java_bytecode
[2]: https://wikis.oracle.com/display/MaxineVM/Home
[3]: 
https://kenai.com/hg/maxine~maxine/file/tip/com.oracle.max.vm/src/com/sun/max/vm/verifier

On 2013/4/8 11:26, Kumarasiri, Nuwan R wrote:
> hello Kris,
>
> Thank you for your reply. That helps.
>
> I also want to know if I borrow the same algorithm/code in hotspot/src/share/vm/classfile/verifier.[hpp|cpp] to implement the same feature in Jikes RVM will there be any copyright issue ?
>
> More information under "Bytecode verifier" at,
> http://docs.codehaus.org/display/RVM/Google+Summer+of+Code+2013
>
> Thank you.
> ________________________________________
> From: hotspot-dev-bounces at openjdk.java.net [hotspot-dev-bounces at openjdk.java.net] on behalf of Krystal Mo [krystal.mo at oracle.com]
> Sent: Monday, April 08, 2013 12:03 PM
> To: hotspot-dev at openjdk.java.net
> Subject: Re: Byte code verification source code location
>
> Hi,
>
> The new verifier using stack maps (aka "type checking verifier" or the
> "split verifier") is located in
> hotspot/src/share/vm/classfile/verifier.[hpp|cpp]
> The old verifier (aka "type inference verifier") is located in
> jdk/src/share/native/common/check_code.c
>
> - Kris
>
> On 2013/4/8 8:36, Kumarasiri, Nuwan R wrote:
>> hello,
>>
>> I raised this question in a different mailing list but i was asked to ask here.
>>
>> I need to look at the byte code verification(http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html) implementation in openjdk. Could you kindly let me know the location of the byte code verification source code for version 7?
>>
>> Thank you.
>



More information about the hotspot-dev mailing list