Sanjoy Das
ead2d1fbe0
[Statepoints] Support for "patchable" statepoints.
...
Summary:
This change adds two new parameters to the statepoint intrinsic, `i64 id`
and `i32 num_patch_bytes`. `id` gets propagated to the ID field
in the generated StackMap section. If the `num_patch_bytes` is
non-zero then the statepoint is lowered to `num_patch_bytes` bytes of
nops instead of a call (the spill and reload code remains unchanged).
A non-zero `num_patch_bytes` is useful in situations where a language
runtime requires complete control over how a call is lowered.
This change brings statepoints one step closer to patchpoints. With
some additional work (that is not part of this patch) it should be
possible to get rid of `TargetOpcode::STATEPOINT` altogether.
PlaceSafepoints generates `statepoint` wrappers with `id` set to
`0xABCDEF00` (the old default value for the ID reported in the stackmap)
and `num_patch_bytes` set to `0`. This can be made more sophisticated
later.
Reviewers: reames, pgavlin, swaroop.sridhar, AndyAyers
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D9546
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237214 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-12 23:52:24 +00:00
..
2015-04-02 05:00:40 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-24 19:32:54 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-29 16:38:44 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-29 16:38:44 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-29 16:38:44 +00:00
2015-04-29 16:38:44 +00:00
2015-04-16 23:24:18 +00:00
2015-04-24 19:32:54 +00:00
2015-05-06 19:11:20 +00:00
2015-05-06 19:11:20 +00:00
2015-04-29 16:38:44 +00:00
2015-04-29 16:38:44 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-29 16:38:44 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-29 16:38:44 +00:00
2015-04-29 16:38:44 +00:00
2015-03-13 18:20:45 +00:00
2015-04-29 16:38:44 +00:00
2015-04-29 16:38:44 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-15 15:47:51 +00:00
2015-03-16 17:01:34 +00:00
2015-04-03 17:02:48 +00:00
2015-04-03 16:44:42 +00:00
2015-03-19 22:29:40 +00:00
2015-04-15 15:47:51 +00:00
2015-04-16 23:24:18 +00:00
2015-04-08 20:34:53 +00:00
2015-04-29 16:38:44 +00:00
2015-04-29 16:38:44 +00:00
2015-04-29 16:38:44 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 22:18:18 +00:00
2015-04-10 21:07:09 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-07 12:24:55 +00:00
2015-04-04 02:08:20 +00:00
2015-04-04 02:08:20 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-25 11:44:19 +00:00
2015-04-04 02:08:20 +00:00
2015-03-25 11:44:19 +00:00
2015-04-16 23:24:18 +00:00
2015-04-27 07:55:46 +00:00
2015-03-12 23:16:18 +00:00
2015-03-12 23:16:18 +00:00
2015-05-04 12:40:50 +00:00
2015-05-10 14:23:52 +00:00
2015-03-30 09:29:28 +00:00
2015-05-11 09:03:14 +00:00
2015-05-12 09:36:52 +00:00
2015-05-12 13:25:46 +00:00
2015-04-27 12:57:59 +00:00
2015-05-07 11:24:42 +00:00
2015-05-11 09:03:14 +00:00
2015-05-11 09:03:14 +00:00
2015-05-04 12:59:15 +00:00
2015-05-11 06:05:05 +00:00
2015-05-11 09:03:14 +00:00
2015-03-14 01:43:57 +00:00
2015-04-03 17:09:37 +00:00
2015-03-19 22:29:40 +00:00
2015-04-03 17:17:50 +00:00
2015-04-03 17:13:31 +00:00
2015-03-25 17:36:01 +00:00
2015-03-06 21:19:32 +00:00
2015-03-12 15:15:19 +00:00
2015-04-17 17:02:37 +00:00
2015-03-25 17:34:11 +00:00
2015-04-03 16:06:58 +00:00
2015-04-16 23:24:18 +00:00
2015-03-06 21:24:56 +00:00
2015-03-10 16:08:36 +00:00
2015-03-24 19:19:07 +00:00
2015-03-06 20:58:15 +00:00
2015-04-04 02:08:20 +00:00
2015-04-16 23:24:18 +00:00
2015-04-30 18:58:23 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-03-06 19:49:10 +00:00
2015-04-16 23:24:18 +00:00
2015-05-12 23:34:27 +00:00
2015-03-16 14:25:08 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-18 17:56:09 +00:00
2015-03-20 10:00:37 +00:00
2015-03-10 21:48:15 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-23 08:43:13 +00:00
2015-03-11 16:16:09 +00:00
2015-04-23 21:17:39 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-05-12 01:26:05 +00:00
2015-03-30 19:37:44 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-29 16:38:44 +00:00
2015-04-29 16:38:44 +00:00
2015-04-29 16:38:44 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-29 16:38:44 +00:00
2015-03-09 22:45:16 +00:00
2015-04-16 23:24:18 +00:00
2015-03-17 12:54:04 +00:00
2015-04-17 17:02:37 +00:00
2015-04-16 23:24:18 +00:00
2015-05-06 10:19:14 +00:00
2015-05-06 16:43:21 +00:00
2015-03-09 22:51:05 +00:00
2015-04-22 16:11:19 +00:00
2015-05-05 23:41:53 +00:00
2015-04-06 22:29:07 +00:00
2015-03-13 18:20:45 +00:00
2015-05-06 21:37:19 +00:00
2015-03-05 21:46:54 +00:00
2015-04-06 22:29:07 +00:00
2015-05-08 18:29:42 +00:00
2015-03-26 11:29:02 +00:00
2015-04-16 23:24:18 +00:00
2015-03-17 23:54:51 +00:00
2015-04-29 23:51:33 +00:00
2015-04-15 15:22:55 +00:00
2015-05-12 01:26:05 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-06 20:51:25 +00:00
2015-04-25 20:41:51 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-05-01 08:20:04 +00:00
2015-04-21 08:05:43 +00:00
2015-05-01 08:20:04 +00:00
2015-03-13 18:20:45 +00:00
2015-04-30 04:06:32 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-29 16:38:44 +00:00
2015-05-04 23:22:36 +00:00
2015-03-21 03:13:10 +00:00
2015-03-21 03:13:10 +00:00
2015-03-13 18:20:45 +00:00
2015-03-09 22:45:16 +00:00
2015-03-09 22:45:16 +00:00
2015-03-11 23:36:10 +00:00
2015-04-04 18:02:01 +00:00
2015-03-17 23:54:51 +00:00
2015-04-16 23:24:18 +00:00
2015-03-06 21:50:27 +00:00
2015-03-06 21:50:42 +00:00
2015-04-21 17:21:36 +00:00
2015-05-11 17:14:39 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-05-12 07:33:07 +00:00
2015-05-05 17:44:16 +00:00
2015-04-30 22:11:59 +00:00
2015-04-30 22:11:59 +00:00
2015-03-29 20:33:07 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-24 19:32:54 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-07 11:41:40 +00:00
2015-04-16 23:24:18 +00:00
2015-05-07 10:18:28 +00:00
2015-04-17 17:02:37 +00:00
2015-03-13 17:29:49 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-05-07 17:22:06 +00:00
2015-04-29 16:38:44 +00:00
2015-05-03 07:12:25 +00:00
2015-05-03 07:12:25 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-05-09 03:13:37 +00:00
2015-05-08 13:47:01 +00:00
2015-03-13 18:20:45 +00:00
2015-04-29 16:38:44 +00:00
2015-04-16 23:24:18 +00:00
2015-04-03 10:02:21 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-01 19:01:09 +00:00
2015-03-16 21:36:38 +00:00
2015-03-13 18:20:45 +00:00
2015-03-31 03:16:51 +00:00
2015-04-29 16:38:44 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-24 19:32:54 +00:00
2015-04-16 23:24:18 +00:00
2015-04-22 06:02:31 +00:00
2015-03-26 01:01:48 +00:00
2015-04-16 23:24:18 +00:00
2015-04-23 16:45:24 +00:00
2015-04-16 23:24:18 +00:00
2015-04-30 08:23:16 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-03-07 05:52:42 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-09 15:02:01 +00:00
2015-04-30 21:03:29 +00:00
2015-04-16 02:39:14 +00:00
2015-04-20 11:56:59 +00:00
2015-03-13 18:20:45 +00:00
2015-04-27 23:35:22 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-08 16:51:42 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-03-27 04:42:52 +00:00
2015-04-10 19:36:55 +00:00
2015-04-24 20:25:05 +00:00
2015-04-23 23:22:33 +00:00
2015-04-23 22:38:36 +00:00
2015-04-23 23:22:33 +00:00
2015-04-23 23:22:33 +00:00
2015-03-13 18:20:45 +00:00
2015-03-12 15:16:58 +00:00
2015-04-04 02:08:20 +00:00
2015-04-28 14:46:35 +00:00
2015-04-21 06:28:36 +00:00
2015-04-04 02:08:20 +00:00
2015-04-16 23:24:18 +00:00
2015-03-14 10:58:38 +00:00
2015-04-21 08:40:22 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-05-12 01:26:05 +00:00
2015-04-30 21:22:28 +00:00
2015-04-24 19:32:54 +00:00
2015-04-10 18:31:42 +00:00
2015-05-12 23:34:27 +00:00
2015-04-15 15:47:51 +00:00
2015-03-13 18:20:45 +00:00
2015-04-21 01:13:41 +00:00
2015-05-02 11:50:47 +00:00
2015-04-19 21:34:57 +00:00
2015-04-21 08:40:22 +00:00
2015-05-07 15:48:53 +00:00
2015-05-04 21:27:27 +00:00
2015-04-16 23:24:18 +00:00
2015-04-03 11:50:30 +00:00
2015-04-18 18:50:55 +00:00
2015-04-18 18:50:55 +00:00
2015-03-30 15:25:51 +00:00
2015-04-18 21:24:16 +00:00
2015-04-03 14:24:40 +00:00
2015-04-03 11:01:15 +00:00
2015-04-29 16:38:44 +00:00
2015-04-16 23:24:18 +00:00
2015-04-29 16:38:44 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-05-12 23:52:24 +00:00
2015-05-12 23:52:24 +00:00
2015-05-12 23:52:24 +00:00
2015-05-12 23:52:24 +00:00
2015-05-12 23:52:24 +00:00
2015-05-12 23:52:24 +00:00
2015-05-12 23:52:24 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-23 16:45:24 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-05-08 21:23:39 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-14 15:28:42 +00:00
2015-03-13 18:20:45 +00:00
2015-05-08 23:52:00 +00:00
2015-03-13 18:20:45 +00:00
2015-03-06 20:34:20 +00:00
2015-04-16 23:24:18 +00:00
2015-04-04 02:08:20 +00:00
2015-04-16 23:24:18 +00:00
2015-03-10 16:08:36 +00:00
2015-03-13 18:20:45 +00:00
2015-04-29 16:38:44 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-06 18:39:00 +00:00
2015-04-06 17:15:41 +00:00
2015-05-02 13:04:07 +00:00
2015-03-25 22:30:31 +00:00
2015-03-06 21:30:18 +00:00
2015-04-15 15:47:51 +00:00
2015-04-15 15:47:51 +00:00
2015-05-02 11:42:47 +00:00
2015-03-15 16:19:15 +00:00
2015-04-04 10:20:31 +00:00
2015-03-06 20:38:55 +00:00
2015-03-06 20:46:16 +00:00
2015-03-06 01:13:01 +00:00
2015-04-15 15:47:51 +00:00
2015-03-13 18:20:45 +00:00
2015-03-09 22:51:05 +00:00
2015-04-03 10:02:21 +00:00
2015-04-06 18:39:00 +00:00
2015-04-02 17:56:17 +00:00
2015-04-02 17:56:17 +00:00
2015-04-02 20:21:52 +00:00
2015-04-02 20:21:52 +00:00
2015-03-08 16:28:47 +00:00
2015-04-15 15:47:51 +00:00
2015-03-25 22:30:31 +00:00
2015-04-25 12:12:43 +00:00
2015-03-18 22:18:51 +00:00
2015-04-15 15:47:51 +00:00
2015-04-15 15:47:51 +00:00
2015-04-15 15:47:51 +00:00
2015-04-17 17:02:37 +00:00
2015-04-15 15:47:51 +00:00
2015-04-30 22:11:59 +00:00
2015-05-05 17:44:16 +00:00
2015-04-23 23:22:33 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-04 02:08:20 +00:00
2015-04-16 23:24:18 +00:00
2015-05-08 15:11:07 +00:00
2015-03-23 22:44:55 +00:00
2015-03-18 22:51:45 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-18 00:03:36 +00:00
2015-03-06 19:49:10 +00:00
2015-03-18 12:45:45 +00:00