- 11 Jun, 2019 1 commit
-
-
Simon Zünd authored
This CL adds two mjsunit tests that transition an error object to dictionary mode before and after Error.stack is formatted and verify that the custom 'stack' property accessor works as intended. Bug: v8:8742 Change-Id: I4beb52c75b94533c10fac007f41117ab8915fac8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1649789Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#62078}
-
- 16 Apr, 2019 1 commit
-
-
Simon Zünd authored
When a stack trace is captured, it is stored in a private symbol on the respective Error object. The first access to "Error.stack" will then format the stack trace, with a possible call into user JS via the Error.prepareStackTrace callback. Until now, the accessor converted ".stack" to a normal data property containing the formatted stack trace. This causes a new Map with a new DescriptorArray to be created, which will not be shared with anything else (also not other error objects with formated stack traces). This CL changes the accessor to store the formatted stack trace in the same symbol (stack_trace_symbol) as the structured data. The result is that an error object will have the same Map before and after "Error.stack" is accessed. Bug: v8:9115 Change-Id: I7d6bf49be76d63b57fbbaf904cc6ed7dbdbfb96b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1564061 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60865}
-