Mercurial > hg > graal-compiler
changeset 7712:0a346c23cbd5
Add ability to create materialized frame to Truffle runtime.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Tue, 05 Feb 2013 15:27:32 +0100 |
parents | 960a15fea39a |
children | fec77d5cd187 |
files | graal/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleRuntime.java graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultTruffleRuntime.java |
diffstat | 2 files changed, 26 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleRuntime.java Tue Feb 05 15:19:17 2013 +0100 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleRuntime.java Tue Feb 05 15:27:32 2013 +0100 @@ -58,4 +58,20 @@ * @return the new call target object */ CallTarget createCallTarget(RootNode rootNode, FrameDescriptor frameDescriptor); + + /** + * Creates a new materialized frame object that can be used to store values. + * + * @return the newly created materialized frame object + */ + MaterializedFrame createMaterializedFrame(Arguments arguments); + + /** + * Creates a new materialized frame object with the given frame descriptor that can be used to + * store values. + * + * @param frameDescriptor the frame descriptor describing this frame's values + * @return the newly created materialized frame object + */ + MaterializedFrame createMaterializedFrame(Arguments arguments, FrameDescriptor frameDescriptor); }
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultTruffleRuntime.java Tue Feb 05 15:19:17 2013 +0100 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultTruffleRuntime.java Tue Feb 05 15:27:32 2013 +0100 @@ -46,4 +46,14 @@ public CallTarget createCallTarget(RootNode rootNode) { return createCallTarget(rootNode, new FrameDescriptor()); } + + @Override + public MaterializedFrame createMaterializedFrame(Arguments arguments) { + return createMaterializedFrame(arguments, new FrameDescriptor()); + } + + @Override + public MaterializedFrame createMaterializedFrame(Arguments arguments, FrameDescriptor frameDescriptor) { + return new DefaultMaterializedFrame(new DefaultVirtualFrame(frameDescriptor, null, arguments)); + } }