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
..
2012-01-17 19:54:02 +00:00
2012-02-01 18:53:40 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2012-02-02 19:44:55 +00:00
2012-02-02 19:44:55 +00:00
2012-02-02 19:44:55 +00:00
2012-01-04 08:04:04 +00:00
2011-10-05 05:20:07 +00:00
2012-01-04 08:04:04 +00:00
2011-11-30 23:55:30 +00:00
2011-11-30 23:55:30 +00:00
2011-12-17 00:56:02 +00:00
2012-01-10 00:32:51 +00:00
2012-01-16 13:23:40 +00:00
2012-01-16 13:23:40 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2012-02-06 19:52:02 +00:00
2012-02-14 00:58:56 +00:00
2011-10-05 05:20:07 +00:00
2012-02-06 19:52:02 +00:00
2012-02-02 19:05:06 +00:00
2012-02-22 22:41:56 +00:00
2012-02-28 18:36:39 +00:00
2012-02-28 18:36:39 +00:00
2012-02-28 18:36:39 +00:00
2012-01-16 12:28:10 +00:00
2011-12-27 23:54:30 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2012-02-27 22:50:44 +00:00
2012-02-29 02:14:18 +00:00
2012-02-27 22:50:44 +00:00
2012-02-27 22:50:44 +00:00
2012-02-27 22:50:44 +00:00
2012-02-06 19:52:02 +00:00
2012-02-29 02:14:18 +00:00
2012-02-29 02:14:18 +00:00
2012-02-25 00:33:25 +00:00
2012-02-06 19:52:02 +00:00
2012-03-02 21:52:03 +00:00
2012-03-02 17:53:28 +00:00
2012-02-06 19:52:02 +00:00
2012-03-02 21:52:03 +00:00
2012-03-02 17:53:28 +00:00
2012-03-03 01:53:26 +00:00
2012-02-27 22:00:28 +00:00
2012-02-28 01:31:44 +00:00
2012-02-28 01:31:44 +00:00
2012-02-28 01:31:44 +00:00
2012-02-22 00:40:03 +00:00
2012-02-22 00:40:03 +00:00
2012-03-01 22:02:41 +00:00
2012-02-22 00:40:03 +00:00
2012-03-01 22:02:41 +00:00
2012-02-22 00:40:03 +00:00
2012-02-29 02:46:29 +00:00
2012-02-29 02:46:29 +00:00
2012-01-16 12:28:10 +00:00
2012-03-02 18:01:38 +00:00
2012-02-02 19:05:06 +00:00
2011-10-05 05:20:07 +00:00
2012-01-16 12:28:10 +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-01-16 12:28:10 +00:00
2012-02-02 19:05:06 +00:00
2012-02-02 19:05:06 +00:00
2012-02-27 22:50:44 +00:00
2012-03-03 02:30:20 +00:00
2012-03-03 02:30:20 +00:00
2012-02-09 08:47:19 +00:00
2012-02-23 11:11:48 +00:00
2012-02-18 10:10:28 +00:00
2012-03-03 02:30:20 +00:00
2012-02-02 19:05:06 +00:00
2012-02-28 01:31:44 +00:00
2012-02-02 19:05:06 +00:00
2012-02-29 02:46:29 +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
2012-03-02 18:01:38 +00:00
2012-03-02 18:01:38 +00:00
2012-03-02 18:01:38 +00:00
2012-03-02 23:43:34 +00:00
2012-03-02 23:43:34 +00:00
2012-01-16 13:23:40 +00:00
2012-01-13 01:39:23 +00:00
2012-01-13 01:39:23 +00:00
2012-01-16 13:23:40 +00:00
2012-01-16 13:23:40 +00:00
2012-02-28 01:31:44 +00:00
2011-11-30 23:12:46 +00:00
2012-02-27 22:00:28 +00:00
2011-11-30 23:12:46 +00:00
2011-11-30 23:12:46 +00:00
2012-02-28 13:19:50 +00:00
2012-02-28 13:19:50 +00:00
2012-01-16 13:23:40 +00:00
2012-01-17 22:52:54 +00:00
2012-02-16 09:07:32 +00:00
2012-02-02 19:05:06 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2012-03-06 09:49:21 +00:00
2012-03-06 09:49:21 +00:00
2012-02-28 14:17:17 +00:00
2012-02-28 14:17:17 +00:00
2012-02-28 14:17:17 +00:00
2012-02-28 14:17:17 +00:00
2012-03-06 09:49:21 +00:00
2012-03-05 19:07:08 +00:00
2012-02-28 14:17:17 +00:00
2012-01-16 12:28:10 +00:00
2011-12-03 05:39:26 +00:00
2012-01-16 12:28:10 +00:00
2012-03-03 02:30:20 +00:00
2012-03-03 02:30:20 +00:00
2011-12-19 19:29:10 +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
2012-01-16 13:23:40 +00:00
2012-01-16 12:28:10 +00:00
2012-02-09 08:47:19 +00:00
2012-02-22 15:20:13 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 13:23:40 +00:00
2012-01-13 01:23:42 +00:00
2012-01-17 22:52:54 +00:00
2012-02-02 18:22:25 +00:00
2012-01-16 12:28:10 +00:00
2012-02-25 00:33:25 +00:00
2012-02-22 15:20:13 +00:00
2012-02-22 15:20:13 +00:00
2012-02-25 00:33:25 +00:00
2012-02-22 16:38:56 +00:00
2012-02-22 16:38:56 +00:00
2011-12-10 00:38:09 +00:00
2012-02-23 22:51:18 +00:00
2012-02-28 08:58:49 +00:00
2012-03-06 09:49:21 +00:00
2011-10-05 05:20:07 +00:00
2012-02-12 07:10:09 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2012-02-27 22:50:44 +00:00
2012-03-02 00:38:18 +00:00
2012-02-28 18:36:39 +00:00
2012-01-17 19:54:02 +00:00
2012-02-02 19:05:06 +00:00
2012-02-02 19:05:06 +00:00
2012-01-16 12:28:10 +00:00
2011-10-05 05:20:07 +00:00
2012-01-16 12:28:10 +00:00
2012-03-02 00:38:18 +00:00
2012-03-02 00:38:18 +00:00
2012-03-02 00:38:18 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2012-02-28 01:31:44 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2011-11-12 05:55:22 +00:00
2012-03-02 00:38:18 +00:00
2012-02-01 18:53:40 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2011-10-05 05:20:07 +00:00
2012-03-03 01:53:26 +00:00
2012-03-03 01:53:26 +00:00
2012-02-29 23:51:01 +00:00
2012-01-16 12:28:10 +00:00
2012-03-01 22:02:41 +00:00
2012-03-01 22:02:41 +00:00
2011-10-05 05:20:07 +00:00
2012-03-02 21:52:03 +00:00
2012-02-25 00:33:25 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2012-01-16 13:23:40 +00:00
2012-01-16 13:23:40 +00:00
2012-01-16 13:23:40 +00:00
2012-01-16 12:28:10 +00:00
2011-10-06 10:14:49 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2011-12-23 00:14:05 +00:00
2011-11-10 01:39:06 +00:00
2012-03-05 23:47:34 +00:00
2012-03-05 23:47:34 +00:00
2012-03-02 00:38:18 +00:00
2012-02-01 18:53:40 +00:00
2012-02-01 18:53:40 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2011-10-05 05:20:07 +00:00
2012-03-03 01:53:26 +00:00
2012-03-01 22:02:41 +00:00
2012-02-29 02:46:29 +00:00
2012-01-17 22:52:54 +00:00
2012-02-03 22:25:16 +00:00
2012-02-03 22:25:16 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2012-02-28 01:31:44 +00:00
2011-12-08 00:03:08 +00:00
2011-11-12 05:55:22 +00:00
2012-01-31 20:05:24 +00:00
2012-03-05 22:54:02 +00:00
2012-02-29 02:46:29 +00:00
2012-02-15 20:56:15 +00:00
2012-01-16 13:23:40 +00:00
2012-02-06 19:52:02 +00:00
2012-02-28 09:11:18 +00:00
2012-02-28 09:11:18 +00:00
2011-11-02 16:58:25 +00:00
2012-02-28 18:36:39 +00:00
2012-02-27 22:50:44 +00:00
2012-03-03 01:53:26 +00:00
2012-02-29 02:46:29 +00:00
2011-10-05 05:20:07 +00:00
2012-02-22 15:20:13 +00:00
2012-01-16 12:28:10 +00:00
2012-02-22 16:38:56 +00:00
2012-02-28 01:31:44 +00:00
2012-02-27 18:41:57 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2012-02-27 22:00:28 +00:00
2011-12-08 00:03:08 +00:00
2012-02-27 22:18:00 +00:00
2011-12-08 00:03:08 +00:00
2012-02-27 22:18:00 +00:00
2012-01-16 12:28:10 +00:00
2012-02-27 22:00:28 +00:00
2012-01-18 21:46:27 +00:00
2012-01-17 10:29:24 +00:00
2011-10-05 05:20:07 +00:00
2012-01-17 18:29:54 +00:00
2011-10-05 05:20:07 +00:00
2012-02-29 02:46:29 +00:00
2011-10-21 20:33:29 +00:00
2011-10-06 22:42:24 +00:00
2011-10-06 22:42:24 +00:00
2011-10-21 20:33:29 +00:00
2012-02-28 01:31:44 +00:00
2012-02-13 22:50:19 +00:00
2012-01-18 22:00:40 +00:00
2012-01-16 12:28:10 +00:00
2012-01-13 01:23:42 +00:00
2012-01-16 13:23:40 +00:00
2012-01-16 13:23:40 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 12:28:10 +00:00
2012-01-16 13:23:40 +00:00
2012-01-16 13:23:40 +00:00
2011-10-05 05:20:07 +00:00
2012-02-28 18:36:39 +00:00
2012-02-28 18:36:39 +00:00
2012-01-18 21:46:27 +00:00
2012-01-16 13:23:40 +00:00
2012-02-09 08:47:19 +00:00