Files
sdk/runtime/vm
kmillikin@google.com 0a9194319d Implement postfix indexed increment.
Chosen because of its wartiness.  A pair of new computations are introduced
to allow the IL to express duplication of temporaries and storing to
temporaries.  These will be translated away by the optimizing compiler, but
allow the instruction stream to represent exactly the deoptimization state
we are intereseted in (with at most one deopt point per instruction).

Translation of:

test(a, i) {
  return a[i]++;
}

is

 0: [target]
    t0 <-#0
    t1 <-LoadLocal(a)
    t2 <-LoadLocal(i)
    t3 <-CopyTemp(-1)
    t4 <-CopyTemp(-1)
    t3 <-InstanceCall([], t3, t4)
    SetTemp(-3)
    t4 <-#1
    t3 <-InstanceCall(+, t3, t4)
    InstanceCall([]=, t1, t2, t3)
    return t0

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9601011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5012 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-06 09:49:21 +00:00
..
2011-10-05 05:20:07 +00:00
2012-01-10 00:32:51 +00:00
2011-10-05 05:20:07 +00:00
2012-02-02 19:05:06 +00:00
2012-02-27 22:00:28 +00:00
2012-02-02 19:05:06 +00:00
2011-10-05 05:20:07 +00:00
2011-12-17 00:56:02 +00:00
2012-02-02 19:05:06 +00:00
2012-02-02 19:05:06 +00:00
2012-02-02 19:05:06 +00:00
2012-02-02 19:05:06 +00:00
2012-02-02 19:05:06 +00:00
2012-02-02 19:05:06 +00:00
2012-03-02 23:43:34 +00:00
2012-03-02 23:43:34 +00:00
2011-11-30 23:12:46 +00:00
2011-11-30 23:12:46 +00:00
2011-11-30 23:12:46 +00:00
2012-02-02 19:05:06 +00:00
2011-12-15 22:37:35 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2012-02-02 19:05:06 +00:00
2012-02-02 19:05:06 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-06 10:14:49 +00:00
2012-03-05 23:47:34 +00:00
2012-03-05 23:47:34 +00:00
2012-02-01 18:53:40 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2012-02-27 22:00:28 +00:00
2012-02-27 22:00:28 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00