Josh Matthews
7cdef235f3
servo: Merge #11803 - Avoid unwinding into C stack frames (from jdm:catch-unwind); r=nox
...
Fix the biggest cause of #6462 by wrapping lots of JS->Rust transitions in catch_panic, and calling resume_panic after all Rust->JS transitions return.
Known issue:
* Finalizers can be called in response to any JS engine allocation that triggers a GC, so it's possible for a Rust object's Drop implementation that panics to leave an interrupted panic in TLS. This is why 30d8009 is part of this PR; the underlying problem is that there's no clear place to resume the panic after it is interrupted.
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #6462 (github issue number if applicable).
- [X] There are tests for these changes OR
Source-Repo: https://github.com/servo/servo
Source-Revision: 87d991ebd24886051ad1131bdbe3b9019cb1c4b3
2016-06-22 08:36:01 -05:00
..
2016-06-22 08:36:01 -05:00
2016-06-22 08:36:01 -05:00
2016-06-02 06:18:59 -05:00
2016-06-02 06:18:59 -05:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-06-17 09:52:38 -05:00
2016-06-08 10:42:42 -05:00
2016-05-04 08:06:06 -07:00
2016-03-16 20:31:18 +05:00
2016-05-27 18:14:25 -05:00
2016-05-31 20:00:23 -05:00
2016-05-31 20:00:23 -05:00
2016-05-31 20:00:23 -05:00
2016-06-08 13:31:41 -05:00
2016-05-27 18:14:25 -05:00
2016-06-09 11:33:17 -05:00
2016-05-24 02:07:29 -07:00
2015-12-18 03:56:59 +05:00
2016-06-17 02:07:37 -05:00
2016-05-24 15:59:31 -07:00
2016-06-02 06:18:59 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-02-05 03:10:36 +05:00
2016-05-24 02:07:29 -07:00
2016-06-01 01:59:12 -05:00
2016-05-24 02:07:29 -07:00
2016-06-02 06:18:59 -05:00
2016-06-20 12:54:20 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-02 05:25:05 -05:00
2015-12-18 23:07:12 +05:00
2015-11-18 15:14:30 +05:00
2016-05-27 18:14:25 -05:00
2015-11-18 15:14:30 +05:00
2016-06-01 07:36:47 -05:00
2015-11-18 15:14:30 +05:00
2016-05-24 02:07:29 -07:00
2016-06-04 08:34:05 -05:00
2016-06-09 02:48:30 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-02-29 19:43:11 +05:00
2016-05-24 02:07:29 -07:00
2016-06-07 07:07:03 -05:00
2016-06-17 09:52:38 -05:00
2016-06-01 07:36:47 -05:00
2016-06-01 05:09:21 -05:00
2016-05-24 02:07:29 -07:00
2016-05-27 18:14:25 -05:00
2016-06-01 07:36:47 -05:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-06-07 11:09:14 -05:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-06-04 09:22:34 -05:00
2016-06-20 12:54:20 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-02 15:38:55 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-06-15 01:10:49 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-02 21:51:10 -05:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-06-20 20:57:52 -05:00
2016-06-07 11:09:14 -05:00
2016-06-20 12:06:52 -05:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-20 12:54:20 -05:00
2016-05-24 02:07:29 -07:00
2016-06-11 19:30:28 -05:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-20 12:54:20 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-11 19:30:28 -05:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-20 12:54:20 -05:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-03 15:46:40 -07:00
2016-06-04 20:25:36 -05:00
2016-05-24 02:07:29 -07:00
2016-06-07 11:09:14 -05:00
2016-05-03 16:42:46 -07:00
2016-05-24 02:07:29 -07:00
2016-05-27 07:11:17 -05:00
2016-05-24 02:07:29 -07:00
2016-06-02 06:18:59 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-02 06:18:59 -05:00
2016-05-24 02:07:29 -07:00
2016-06-22 08:36:01 -05:00
2016-05-27 18:14:25 -05:00
2016-06-14 18:32:37 -05:00
2016-05-24 02:07:29 -07:00
2016-06-01 07:36:47 -05:00
2016-05-27 18:14:25 -05:00
2016-05-27 07:11:17 -05:00
2016-05-27 18:14:25 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-01 07:36:47 -05:00
2016-06-03 05:32:42 -05:00
2015-11-04 02:26:02 +05:00
2016-06-02 06:18:59 -05:00
2016-06-02 06:18:59 -05:00
2016-06-02 06:18:59 -05:00
2016-06-02 06:18:59 -05:00
2016-06-01 00:15:51 -05:00
2016-04-27 07:50:54 -07:00
2016-06-02 15:38:55 -05:00
2016-05-27 07:11:17 -05:00
2016-05-27 07:11:17 -05:00
2016-04-04 23:09:31 +05:00
2016-06-22 08:36:01 -05:00
2016-05-24 02:07:29 -07:00
2016-05-27 07:11:17 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2015-11-04 02:26:02 +05:00
2016-05-24 02:07:29 -07:00
2015-11-04 02:26:02 +05:00
2015-11-04 10:33:54 +05:00
2016-06-04 20:25:36 -05:00
2016-06-17 07:26:16 -05:00
2016-04-23 11:28:31 -07:00
2016-05-24 02:07:29 -07:00
2016-05-27 07:11:17 -05:00
2016-03-24 18:43:02 +05:00
2016-05-27 18:14:25 -05:00
2015-10-10 15:00:39 -06:00
2016-06-07 11:09:14 -05:00
2016-05-24 02:07:29 -07:00
2016-05-29 20:03:56 -05:00
2016-05-24 02:07:29 -07:00
2016-05-29 20:03:56 -05:00
2015-11-04 02:26:02 +05:00
2016-05-24 02:07:29 -07:00
2016-05-29 20:03:56 -05:00
2016-06-09 19:49:08 -05:00
2016-05-24 02:07:29 -07:00
2015-11-04 02:26:02 +05:00
2016-06-09 19:49:08 -05:00
2016-04-22 11:25:29 -07:00
2016-06-20 14:32:17 -05:00
2016-06-22 08:36:01 -05:00
2016-06-17 07:26:16 -05:00
2016-06-22 08:36:01 -05:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-05-24 02:07:29 -07:00
2016-06-17 09:52:38 -05:00
2015-10-21 07:57:32 -06:00
2015-11-04 02:26:02 +05:00