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