hg: lambda/lambda/hotspot: [mq]: ext_methods

Christian Thalinger christian.thalinger at oracle.com
Tue Jan 10 04:55:41 PST 2012


On Jan 10, 2012, at 1:44 PM, Rémi Forax wrote:

> On 01/10/2012 01:21 PM, Keith McGuigan wrote:
>> 
>> Can you point me towards the parts of the JSR 292 implementation that you think can be reused, and maybe a basic framework of what you're thinking of?  I did look around a little but I didn't see any obvious way of reusing that code.
>> 
>> -- 
>> - Keith
> 
> sure,
> look for MethodHandleCompiler in prims/methodHandleWalk.cpp.

I don't know what's the purpose of that assembler is but with our current JSR 292 work we will remove the MethodHandleWalker completely in the future.  So don't use code *from* the MHW!  Only the other way around ;-)

-- Chris

> 
> Rémi
> 
>> 
>> On Jan 10, 2012, at 3:14 AM, Rémi Forax wrote:
>> 
>>> Hi Keith,
>>> That's a big patch !
>>> 
>>> Just a question about bytecodeAssembler, I know that the JSR 292 method
>>> handle
>>> implementation also generates bytecodes and it seems that the opcodes needed
>>> by bytecodeAssembler is a subset of the ones used by the JSR 292
>>> implementation.
>>> It could be a good idea to try to reuse the same class for both generators.
>>> 
>>> CC to John and Christian to see if it's a good idea.
>>> 
>>> Rémi
>>> 
>>> On 01/09/2012 09:46 PM, keith.mcguigan at oracle.com wrote:
>>>> Changeset: 691ef456ff6c
>>>> Author:    kamg
>>>> Date:      2011-12-22 15:17 -0500
>>>> URL:       http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/691ef456ff6c
>>>> 
>>>> [mq]: ext_methods
>>>> 
>>>> + src/share/vm/classfile/bytecodeAssembler.cpp
>>>> + src/share/vm/classfile/bytecodeAssembler.hpp
>>>> ! src/share/vm/classfile/classFileParser.cpp
>>>> ! src/share/vm/classfile/classFileParser.hpp
>>>> + src/share/vm/classfile/defaultMethods.cpp
>>>> + src/share/vm/classfile/defaultMethods.hpp
>>>> + src/share/vm/classfile/genericSignatures.cpp
>>>> + src/share/vm/classfile/genericSignatures.hpp
>>>> ! src/share/vm/classfile/verifier.cpp
>>>> ! src/share/vm/interpreter/linkResolver.cpp
>>>> ! src/share/vm/interpreter/rewriter.cpp
>>>> ! src/share/vm/oops/instanceKlass.cpp
>>>> ! src/share/vm/oops/instanceKlass.hpp
>>>> ! src/share/vm/oops/instanceKlassKlass.cpp
>>>> ! src/share/vm/oops/klassVtable.cpp
>>>> ! src/share/vm/oops/klassVtable.hpp
>>>> ! src/share/vm/oops/methodOop.hpp
>>>> ! src/share/vm/prims/jvm.h
>>>> ! src/share/vm/runtime/globals.hpp
>>>> ! src/share/vm/utilities/accessFlags.hpp
>>>> ! src/share/vm/utilities/growableArray.hpp
>>>> ! src/share/vm/utilities/ostream.cpp
>>>> ! src/share/vm/utilities/ostream.hpp
>>>> + src/share/vm/utilities/resourceHash.hpp
>>>> 
>>>> 
>>> 
>>> 
>> 
> 



More information about the lambda-dev mailing list