Mercurial > hg > graal-jvmci-8
changeset 11934:dca16d6f9d65
TruffleRuntime.createVirtualFrame.
author | Chris Seaton <chris.seaton@oracle.com> |
---|---|
date | Tue, 08 Oct 2013 00:20:24 +0100 |
parents | 60bf1372d1a0 |
children | 12e9d529fd1d |
files | graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java 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 | 4 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java Mon Oct 07 23:16:00 2013 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java Tue Oct 08 00:20:24 2013 +0100 @@ -69,6 +69,11 @@ } @Override + public VirtualFrame createVirtualFrame(PackedFrame caller, Arguments arguments, FrameDescriptor frameDescriptor) { + return OptimizedCallTarget.createFrame(frameDescriptor, caller, arguments); + } + + @Override public MaterializedFrame createMaterializedFrame(Arguments arguments) { return createMaterializedFrame(arguments); }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Mon Oct 07 23:16:00 2013 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Tue Oct 08 00:20:24 2013 +0100 @@ -166,7 +166,7 @@ return rootNode.execute(frame); } - private static FrameWithoutBoxing createFrame(FrameDescriptor descriptor, PackedFrame caller, Arguments args) { + protected static FrameWithoutBoxing createFrame(FrameDescriptor descriptor, PackedFrame caller, Arguments args) { return new FrameWithoutBoxing(descriptor, caller, args); }
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleRuntime.java Mon Oct 07 23:16:00 2013 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleRuntime.java Tue Oct 08 00:20:24 2013 +0100 @@ -77,6 +77,14 @@ Assumption createAssumption(String name); /** + * Creates a new virtual frame object that can be used to store values and is potentially + * optimizable by the runtime. + * + * @return the newly created virtual frame object + */ + VirtualFrame createVirtualFrame(PackedFrame caller, Arguments arguments, FrameDescriptor frameDescriptor); + + /** * Creates a new materialized frame object that can be used to store values. * * @return the newly created materialized frame object
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultTruffleRuntime.java Mon Oct 07 23:16:00 2013 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultTruffleRuntime.java Tue Oct 08 00:20:24 2013 +0100 @@ -50,6 +50,11 @@ } @Override + public VirtualFrame createVirtualFrame(PackedFrame caller, Arguments arguments, FrameDescriptor frameDescriptor) { + return new DefaultVirtualFrame(frameDescriptor, caller, arguments); + } + + @Override public MaterializedFrame createMaterializedFrame(Arguments arguments) { return createMaterializedFrame(arguments, new FrameDescriptor()); }