summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-11-05 18:38:58 +0000
committerpaltherr <paltherr@epfl.ch>2003-11-05 18:38:58 +0000
commitff67e2865fcb48f669b42af456834845799bdc26 (patch)
treebefb791a2616698f9daa41930add20322f56b31c /sources
parentc2d445c46a817d266ef54478c1694d6e8a1fe2e7 (diff)
downloadscala-ff67e2865fcb48f669b42af456834845799bdc26.tar.gz
scala-ff67e2865fcb48f669b42af456834845799bdc26.tar.bz2
scala-ff67e2865fcb48f669b42af456834845799bdc26.zip
- Added jvm correspondance
Diffstat (limited to 'sources')
-rw-r--r--sources/scalac/atree/ACode.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/sources/scalac/atree/ACode.java b/sources/scalac/atree/ACode.java
index ab6d2f9409..d9b1c1ab9d 100644
--- a/sources/scalac/atree/ACode.java
+++ b/sources/scalac/atree/ACode.java
@@ -17,23 +17,64 @@ public class ACode {
//########################################################################
// Public Cases
+ // jvm : -
public case Void;
+
+ // jvm : aload_0
public case This(Symbol clasz);
+
+ // jvm : {b, s}ipush, ldc{ ,_w, 2_w}, aconst_null
+ // jvm : iconst_{m1, 2, 3, 4, 5}, {i, l, f, d}const_{0, 1}, fconst_2
public case Constant(AConstant constant);
+
+ // jvm : get{static, field}
+ // jvm : {i, l, f, d, a}load{, _0, _1, _2, _3}
+ // jvm : {i, l, f, d, a, b, c, s}aload
public case Load(ALocation location);
+
+ // jvm : put{static, field}
+ // jvm : {i, l, f, d, a}store{, _0, _1, _2, _3}
+ // jvm : {i, l, f, d, a, b, c, s}store
public case Store(ALocation location, ACode value);
+
+ // jvm : new, invoke{static, virtual, interface, special}, {, a}newarray
+ // jvm : <see also in APrimitive>
public case Apply(AFunction function, Type[] targs, ACode[] vargs);
+
+ // jvm : instanceof, checkcast
public case IsAs(ACode value, Type type, boolean cast);
+
+ // jvm : -
public case If(ACode test, ACode success, ACode failure);
+
+ // jvm : {tables, lookup}switch
public case Switch(ACode test, int[][] tags, ACode[] bodies, ACode other);
+
+ // jvm : monitor{enter, exit}
public case Synchronized(ACode lock, ACode value);
+
+ // jvm : -
public case Block(Symbol[] locals, ACode[] statements, ACode value);
+
+ // jvm : -
public case Label(Symbol label, Symbol[] locals, ACode value);
+
+ // jvm : goto, goto_w
public case Goto(Symbol label, ACode[] vargs);
+
+ // jvm : {i, l, f, d, a, }return
public case Return(Symbol function, ACode value);
+
+ // jvm : athrow
public case Throw(ACode value);
+
+ // jvm : pop, pop2
public case Drop(ACode value, Type type);
+ // jvm : nop, dup{, _x1, _x2, 2, 2_x1, 2_x2}, swap
+ // jvm : multianewarray, iinc, jsr{, _w}, ret, wide
+ // NOT MAPPED
+
//########################################################################
// Public Fields