comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/VirtualFrame.java @ 14991:64dcb92ee75a

Truffle: Change signature for Truffle calls from (PackedFrame, Arguments) to (Object[]).
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Sun, 06 Apr 2014 17:46:24 +0200
parents 494b818b527c
children
comparison
equal deleted inserted replaced
14989:a0dbb3628f2a 14991:64dcb92ee75a
22 * or visit www.oracle.com if you need additional information or have any 22 * or visit www.oracle.com if you need additional information or have any
23 * questions. 23 * questions.
24 */ 24 */
25 package com.oracle.truffle.api.frame; 25 package com.oracle.truffle.api.frame;
26 26
27 import com.oracle.truffle.api.*;
28
29 /** 27 /**
30 * Represents a frame containing values of local variables of the guest language. Instances of this 28 * Represents a frame containing values of local variables of the guest language. Instances of this
31 * type must not be stored in a field or cast to {@link java.lang.Object}. If this is necessary, the 29 * type must not be stored in a field or cast to {@link java.lang.Object}. If this is necessary, the
32 * frame must be explicitly converted into a materialized frame using the 30 * frame must be explicitly converted into a materialized frame using the
33 * {@link VirtualFrame#materialize()} method. Whenever fast access to the local variables of a frame 31 * {@link VirtualFrame#materialize()} method.
34 * is no longer necessary, a virtual frame should be converted into a packed frame using the
35 * {@link VirtualFrame#pack()} method.
36 */ 32 */
37 public interface VirtualFrame extends Frame { 33 public interface VirtualFrame extends Frame {
38
39 /**
40 * Accesses the caller frame passed in via {@link CallTarget#call}. To get full access, it must
41 * be first unpacked using {@link PackedFrame#unpack()}.
42 *
43 * @return the caller frame or null if this was a root method call
44 */
45 PackedFrame getCaller();
46 } 34 }