Code sharing is in

Jaroslav Tulach jaroslav.tulach at oracle.com
Fri Mar 24 11:53:19 UTC 2017


On čtvrtek 23. března 2017 6:46:55 CET Jaroslav Tulach wrote:
> Hi there.
> For last nine months I was struggling with code sharing. I tried many ways,
> but I couldn't get it to work properly. But yesterday was a great day:
> Christian Humer managed to merge his code sharing work. Congrats!
> 
> I am so excited. The introduction of PolyglotRuntime gives us a chance to
> experiment with sharing of ASTs between different PolyglotEngines -
> something many language implementations wanted to play with. I am thrilled
> to gain some experience with the sharing and then think of proper ways to
> make it work in multi-language interop system as well.
> 
> I hope you find Truffle code sharing support interesting too.

FYI: Javadoc for the new APIs for language integrators can be found at:
http://graalvm.github.io/truffle/javadoc/com/oracle/truffle/api/vm/package-summary.html

-jt

> SignatureTest report
> Base version:
> Tested version:
> Check mode: bin [throws removed]
> Constant checking: on
> 
> 
> Added Classes
> -------------
> 
> com.oracle.truffle.api.TruffleLanguage$ContextReference
> com.oracle.truffle.api.nodes.LanguageInfo
> 
> Added Nested Classes
> --------------------
> 
> com.oracle.truffle.api.TruffleLanguage: nested public final static
> com.oracle.truffle.api.TruffleLanguage$ContextReference
> 
> Added Constructors
> ------------------
> 
> com.oracle.truffle.api.nodes.RootNode:  constructor protected
> com.oracle.truffle.api.nodes.RootNode.init(com.oracle.truffle.api.TruffleLan
> guage) com.oracle.truffle.api.nodes.RootNode:  constructor protected
> com.oracle.truffle.api.nodes.RootNode.init(com.oracle.truffle.api.TruffleLan
> guage,com.oracle.truffle.api.frame.FrameDescriptor)
> 
> Added Methods
> -------------
> 
> com.oracle.truffle.api.TruffleLanguage: method public final
> com.oracle.truffle.api.TruffleLanguage$ContextReference
> com.oracle.truffle.api.TruffleLanguage.getContextReference()
> com.oracle.truffle.api.nodes.RootNode:  method public final
> com.oracle.truffle.api.TruffleLanguage
> com.oracle.truffle.api.nodes.RootNode.getLanguage(java.lang.Class)
> com.oracle.truffle.api.nodes.RootNode:  method public final
> com.oracle.truffle.api.nodes.LanguageInfo
> com.oracle.truffle.api.nodes.RootNode.getLanguageInfo()
> 
> Added Annotations
> -----------------
> 
> com.oracle.truffle.api.ExecutionContext:anno 0 java.lang.Deprecated()
> com.oracle.truffle.api.TruffleLanguage.createFindContextNode:
> anno 0 java.lang.Deprecated()
> com.oracle.truffle.api.TruffleLanguage.findContext:         anno 0
> java.lang.Deprecated()
> com.oracle.truffle.api.nodes.Node.getLanguage:              anno 0
> java.lang.Deprecated()
> com.oracle.truffle.api.nodes.Node.getLanguage:              anno 0
> java.lang.Deprecated()
> com.oracle.truffle.api.nodes.Node.getLanguage:              anno 0
> java.lang.Deprecated()
> com.oracle.truffle.api.nodes.Node.getLanguage:              anno 0
> java.lang.Deprecated()
> com.oracle.truffle.api.nodes.Node.getLanguage:              anno 0
> java.lang.Deprecated()
> com.oracle.truffle.api.nodes.RootNode.getExecutionContext:  anno 0
> java.lang.Deprecated()
> com.oracle.truffle.api.nodes.RootNode.init:                 anno 0
> java.lang.Deprecated()
> 
> 
> 
> Added Annotations
> -----------------
> 
> com.oracle.truffle.api.nodes.Node.getLanguage:              anno 0
> java.lang.Deprecated()
> com.oracle.truffle.api.nodes.Node.getLanguage:              anno 0
> java.lang.Deprecated()
> 
> 
> Missing Methods
> ---------------
> 
> com.oracle.truffle.api.interop.MessageResolution:           method public
> abstract java.lang.Class
> com.oracle.truffle.api.interop.MessageResolution.language()
> 
> Added Methods
> -------------
> 
> com.oracle.truffle.api.interop.MessageResolution:           method public
> abstract !hasdefault java.lang.Class
> com.oracle.truffle.api.interop.MessageResolution.language()
>  anno 0 java.lang.Deprecated()
> 
> Added Annotations
> -----------------
> 
> com.oracle.truffle.api.interop.MessageResolution.language:  anno 0
> java.lang.Deprecated()
> 
> Missing Superclasses or Superinterfaces
> ---------------------------------------
> 
> com.oracle.truffle.api.vm.PolyglotEngine$Instrument:        superclass
> java.lang.Object
> 
> Added Classes
> -------------
> 
> com.oracle.truffle.api.vm.PolyglotRuntime
> com.oracle.truffle.api.vm.PolyglotRuntime$Builder
> com.oracle.truffle.api.vm.PolyglotRuntime$Instrument
> 
> Added Superclasses or Superinterfaces
> -------------------------------------
> 
> com.oracle.truffle.api.vm.PolyglotEngine$Instrument:        superclass
> com.oracle.truffle.api.vm.PolyglotRuntime$Instrument
> 
> Added Methods
> -------------
> 
> com.oracle.truffle.api.vm.PolyglotEngine:                   method public
> com.oracle.truffle.api.vm.PolyglotRuntime
> com.oracle.truffle.api.vm.PolyglotEngine.getRuntime()
> com.oracle.truffle.api.vm.PolyglotEngine$Builder:           method public
> com.oracle.truffle.api.vm.PolyglotEngine$Builder
> com.oracle.truffle.api.vm.PolyglotEngine
> $Builder.runtime(com.oracle.truffle.api.vm.PolyglotRuntime)
> com.oracle.truffle.api.vm.PolyglotEngine$Value:             method public
> com.oracle.truffle.api.source.SourceSection
> com.oracle.truffle.api.vm.PolyglotEngine$Value.getSourceLocation()
> com.oracle.truffle.api.vm.PolyglotEngine$Value:             method public
> com.oracle.truffle.api.vm.PolyglotEngine$Value
> com.oracle.truffle.api.vm.PolyglotEngine$Value.getMetaObject()
> 
> Added Annotations
> -----------------
> 
> com.oracle.truffle.api.vm.PolyglotEngine$Instrument:        anno 0
> java.lang.Deprecated()
> com.oracle.truffle.api.vm.PolyglotEngine.getInstruments:    anno 0
> java.lang.Deprecated()




More information about the graal-dev mailing list