kmillikin@google.com
013864dcec
Implement x64 compilation for loading and storing local variables.
...
Continue to bailout on optional parameters and context-allocated local
variables.
Implement compilation of Bind and Do instructions, LoadLocal and StoreLocal
computations, and temporary values. Temporary allocation assumes they obey
a stack-discipline and have a single use---so any use is always the last
use. Temporaries can then be allocated via push and used via pop. This
dart function:
hukairs(a) {
var b, c;
c = b = a;
return c;
}
compiles to this annotated generated code snippet:
;; StoreLocal(b, #null)
66: mov $0x7f99303c0021,%rax
70: mov %rax,-0x8(%rbp)
;; StoreLocal(c, #null)
74: mov $0x7f99303c0021,%rax
7e: mov %rax,-0x10(%rbp)
;; t0 <-LoadLocal(a)
82: mov 0x10(%rbp),%ax
86: push %rax
;; t0 <-StoreLocal(b, t0)
87: pop %rax
88: mov %rax,-0x8(%rbp)
8c: push %rax
;; StoreLocal(c, t0)
8d: pop %rax
8e: mov %rax,-0x10(%rbp)
;; t0 <-LoadLocal(c)
92: mov -0x10(%rbp),%ax
96: push %rax
;; return t0
97: pop %rax
;; ...
bf: mov %rbp,%rsp
c2: pop %rbp
c3: retq
R=srdjan@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9447102
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4666 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 09:11:18 +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-08 09:22:46 +00:00
2012-01-31 20:05:24 +00:00
2011-12-09 17:25:44 +00:00
2012-01-16 13:23:40 +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-03 22:25:16 +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-22 18:42:09 +00:00
2012-02-22 17:48:05 +00:00
2012-02-25 00:33:25 +00:00
2012-02-06 19:52:02 +00:00
2012-02-27 22:00:28 +00:00
2012-02-27 22:00:28 +00:00
2012-02-06 19:52:02 +00:00
2012-02-27 22:00:28 +00:00
2012-02-27 22:00:28 +00:00
2012-02-28 01:31:44 +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-02-27 22:18:00 +00:00
2012-02-22 00:40:03 +00:00
2012-02-27 22:18:00 +00:00
2012-02-22 00:40:03 +00:00
2011-10-05 05:20:07 +00:00
2011-10-05 05:20:07 +00:00
2012-01-16 12:28:10 +00:00
2012-02-28 01:31:44 +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-02-27 22:50:44 +00:00
2012-02-27 22:50:44 +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-02-22 03:52:12 +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-09 08:47:19 +00:00
2012-02-02 19:05:06 +00:00
2012-02-27 23:03:19 +00:00
2012-02-27 22:00:28 +00:00
2012-02-27 22:00:28 +00:00
2012-02-27 22:00:28 +00:00
2012-02-27 22:00:28 +00:00
2012-02-28 01:31:44 +00:00
2012-02-27 22:00:28 +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
2011-12-22 22:18:21 +00:00
2011-12-22 22:03:35 +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-02-28 09:11:18 +00:00
2012-02-28 08:58:49 +00:00
2012-02-28 09:11:18 +00:00
2012-02-28 09:11:18 +00:00
2012-02-27 08:28:51 +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-02-15 20:56:15 +00:00
2012-01-13 01:23:42 +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-02-28 08:58:49 +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-02-25 00:33:25 +00:00
2012-02-07 09:18:22 +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-02-02 08:59:26 +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
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-02-09 08:47:19 +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-02-02 19:05:06 +00:00
2012-02-27 22:50:44 +00:00
2012-02-22 00:40:03 +00:00
2012-01-16 12:28:10 +00:00
2012-02-28 01:31:44 +00:00
2012-02-28 01:31:44 +00:00
2011-10-05 05:20:07 +00:00
2012-02-28 01:31:44 +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-02-25 00:47:06 +00:00
2012-02-23 19:55:57 +00:00
2012-02-02 08:59:26 +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-02-25 00:33:25 +00:00
2012-02-22 00:40:03 +00:00
2012-02-25 00:33:25 +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-02-25 00:47:06 +00:00
2012-02-06 19:52:02 +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-27 22:50:44 +00:00
2012-02-27 22:50:44 +00:00
2012-02-18 10:10:28 +00:00
2012-02-18 10:10:28 +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-22 21:40:07 +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-27 08:28:51 +00:00
2012-02-27 22:50:44 +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