Greg Clayton
ac58361047
Rewrote the initial DW_OP_piece support to be able to support opcodes like:
...
DW_OP_fbreg(N) DW_OP_piece(4) DW_OP_fbreg(M) DW_OP_piece(8)
DW_OP_fbreg(N) DW_OP_piece(4) DW_OP_piece(8)
The first grabs 4 bytes from FP+N followed by 8 bytes from FP+M, the second grabs 4 bytes from FP+N followed by zero filling 8 bytes which are unavailable. Of course regiters are stuff supported:
DW_OP_reg3 DW_OP_piece(4) DW_OP_reg8 DW_OP_piece(8)
The fix does the following:
1 - don't push the full piece value onto the stack, keep it on the side
2 - fill zeros for DW_OP_piece(N) opcodes that have nothing on the stack (instead of previously consuming the full piece that was pushed onto the stack)
3 - simplify the logic
<rdar://problem/16930524>
llvm-svn: 214415
2014-07-31 18:19:28 +00:00
..
2014-04-04 04:06:10 +00:00
2014-04-04 04:06:10 +00:00
2013-03-27 23:08:40 +00:00
2014-07-01 21:22:11 +00:00
2014-07-29 18:04:57 +00:00
2011-06-21 20:47:20 +00:00
2014-04-04 04:06:10 +00:00
2014-07-22 17:03:38 +00:00
2014-05-02 00:45:31 +00:00
2014-07-11 23:15:11 +00:00
2014-04-02 03:51:35 +00:00
2014-06-02 17:30:22 +00:00
2014-04-04 04:06:10 +00:00
2014-07-12 00:24:33 +00:00
2014-06-02 17:30:22 +00:00
2013-03-21 00:29:45 +00:00
2014-06-27 02:42:12 +00:00
2014-07-08 01:07:32 +00:00
2014-01-27 23:43:24 +00:00
2014-02-07 22:54:47 +00:00
2014-07-02 09:51:28 +00:00
2014-07-09 01:29:05 +00:00
2014-04-04 04:06:10 +00:00
2014-07-22 17:03:38 +00:00
2013-10-03 22:27:29 +00:00
2013-01-25 18:06:21 +00:00
2012-11-29 21:49:15 +00:00
2014-06-11 23:10:41 +00:00
2014-06-27 05:17:41 +00:00
2014-07-08 18:05:41 +00:00
2014-05-21 13:46:46 +00:00
2013-07-03 04:52:51 +00:00
2014-07-22 20:36:37 +00:00
2014-07-23 14:37:35 +00:00
2012-02-24 01:59:29 +00:00
2014-06-30 21:05:18 +00:00
2014-04-02 03:51:35 +00:00
2014-07-22 21:59:22 +00:00
2013-04-30 21:41:44 +00:00
2014-07-01 21:22:11 +00:00
2014-07-01 21:22:11 +00:00
2014-03-03 15:39:47 +00:00
2014-06-24 22:22:43 +00:00
2014-01-27 23:43:24 +00:00
2012-12-07 20:51:09 +00:00
2014-07-01 21:22:11 +00:00
2014-01-27 23:43:24 +00:00
2013-01-25 18:06:21 +00:00
2013-11-20 21:07:01 +00:00
2013-08-26 23:57:52 +00:00
2013-01-25 18:06:21 +00:00
2014-01-27 23:43:24 +00:00
2014-06-13 03:30:42 +00:00
2013-08-23 12:44:05 +00:00
2013-06-19 21:50:28 +00:00
2012-12-05 00:20:57 +00:00
2013-07-08 22:22:41 +00:00
2014-07-31 18:19:28 +00:00
2014-07-19 00:12:57 +00:00
2013-07-11 22:46:58 +00:00
2014-05-17 19:14:17 +00:00
2014-05-17 19:14:17 +00:00
2013-07-11 22:46:58 +00:00
2014-07-19 00:12:57 +00:00
2014-05-17 19:14:17 +00:00
2013-01-25 18:06:21 +00:00
2014-05-17 19:14:17 +00:00
2014-05-17 19:14:17 +00:00
2014-05-17 19:14:17 +00:00
2014-05-17 19:14:17 +00:00
2013-01-25 18:06:21 +00:00