comparison graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/FrameTest.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 a08b8694f556
children
comparison
equal deleted inserted replaced
14989:a0dbb3628f2a 14991:64dcb92ee75a
28 import com.oracle.truffle.api.frame.*; 28 import com.oracle.truffle.api.frame.*;
29 import com.oracle.truffle.api.nodes.*; 29 import com.oracle.truffle.api.nodes.*;
30 30
31 /** 31 /**
32 * <h3>Storing Values in Frame Slots</h3> 32 * <h3>Storing Values in Frame Slots</h3>
33 * 33 *
34 * <p> 34 * <p>
35 * The frame is the preferred data structure for passing values between nodes. It can in particular 35 * The frame is the preferred data structure for passing values between nodes. It can in particular
36 * be used for storing the values of local variables of the guest language. The 36 * be used for storing the values of local variables of the guest language. The
37 * {@link FrameDescriptor} represents the current structure of the frame. The method 37 * {@link FrameDescriptor} represents the current structure of the frame. The method
38 * {@link FrameDescriptor#addFrameSlot(Object, FrameSlotKind)} can be used to create predefined 38 * {@link FrameDescriptor#addFrameSlot(Object, FrameSlotKind)} can be used to create predefined
39 * frame slots. The setter and getter methods in the {@link Frame} class can be used to access the 39 * frame slots. The setter and getter methods in the {@link Frame} class can be used to access the
40 * current value of a particular frame slot. Values can be removed from a frame via the 40 * current value of a particular frame slot. Values can be removed from a frame via the
41 * {@link FrameDescriptor#removeFrameSlot(Object)} method. 41 * {@link FrameDescriptor#removeFrameSlot(Object)} method.
42 * </p> 42 * </p>
43 * 43 *
44 * <p> 44 * <p>
45 * There are five primitive types for slots available: {@link java.lang.Boolean}, 45 * There are five primitive types for slots available: {@link java.lang.Boolean},
46 * {@link java.lang.Integer}, {@link java.lang.Long}, {@link java.lang.Float}, and 46 * {@link java.lang.Integer}, {@link java.lang.Long}, {@link java.lang.Float}, and
47 * {@link java.lang.Double} . It is encouraged to use those types whenever possible. Dynamically 47 * {@link java.lang.Double} . It is encouraged to use those types whenever possible. Dynamically
48 * typed languages can speculate on the type of a value fitting into a primitive (see 48 * typed languages can speculate on the type of a value fitting into a primitive (see
51 * {@link Frame#getBoolean}, {@link Frame#getInt}, {@link Frame#getLong}, {@link Frame#getFloat}, or 51 * {@link Frame#getBoolean}, {@link Frame#getInt}, {@link Frame#getLong}, {@link Frame#getFloat}, or
52 * {@link Frame#getDouble}) or setter method ({@link Frame#setBoolean}, {@link Frame#setInt}, 52 * {@link Frame#getDouble}) or setter method ({@link Frame#setBoolean}, {@link Frame#setInt},
53 * {@link Frame#setLong}, {@link Frame#setFloat}, or {@link Frame#setDouble}) in the {@link Frame} 53 * {@link Frame#setLong}, {@link Frame#setFloat}, or {@link Frame#setDouble}) in the {@link Frame}
54 * class. 54 * class.
55 * </p> 55 * </p>
56 * 56 *
57 * <p> 57 * <p>
58 * The next part of the Truffle API introduction is at 58 * The next part of the Truffle API introduction is at
59 * {@link com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest}. 59 * {@link com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest}.
60 * </p> 60 * </p>
61 */ 61 */