|
Switch full-codegen from StackHandlers to handler table.
This switches full-codegen to no longer push and pop StackHandler
markers onto the operand stack, but relies on a range-based handler
table instead. We only use StackHandlers in JSEntryStubs to mark the
transition from C to JS code.
Note that this makes deoptimization and OSR from within any try-block
work out of the box, makes the non-exception paths faster and should
overall be neutral on the memory footprint (pros).
On the other hand it makes the exception paths slower and actually
throwing and exception more expensive (cons).
R=yangguo@chromium.org
TEST=cctest/test-run-jsexceptions/DeoptTry
Committed: https://crrev.com/38a719f965d0a83ddac04392d5b9c5abe214281c
Cr-Commit-Position: refs/heads/master@{#27440}
Total comments: 9
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+478 lines, -606 lines) |
Patch |
|
M |
src/arm/code-stubs-arm.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
4 chunks |
+6 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/arm/full-codegen-arm.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
5 chunks |
+8 lines, -35 lines |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.h
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+4 lines, -19 lines |
0 comments
|
Download
|
|
M |
src/arm64/code-stubs-arm64.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+5 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/arm64/full-codegen-arm64.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
6 chunks |
+8 lines, -38 lines |
0 comments
|
Download
|
|
M |
src/arm64/macro-assembler-arm64.h
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/arm64/macro-assembler-arm64.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+4 lines, -17 lines |
0 comments
|
Download
|
|
M |
src/compiler/ast-graph-builder.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/code-generator.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+6 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/debug.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+5 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/frames.h
|
View
|
|
6 chunks |
+20 lines, -42 lines |
0 comments
|
Download
|
|
M |
src/frames.cc
|
View
|
|
10 chunks |
+23 lines, -139 lines |
0 comments
|
Download
|
|
M |
src/frames-inl.h
|
View
|
|
1 chunk |
+0 lines, -30 lines |
0 comments
|
Download
|
|
M |
src/full-codegen.h
|
View
|
|
7 chunks |
+35 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/full-codegen.cc
|
View
|
1
2
|
5 chunks |
+50 lines, -11 lines |
0 comments
|
Download
|
|
M |
src/ia32/code-stubs-ia32.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+5 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/ia32/full-codegen-ia32.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
5 chunks |
+8 lines, -34 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.h
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+4 lines, -17 lines |
0 comments
|
Download
|
|
M |
src/isolate.h
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+8 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/isolate.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
8 chunks |
+76 lines, -63 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
1
2
3
4
5
6
7
8
9
|
4 chunks |
+67 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+59 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/objects-debug.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
src/promise.js
|
View
|
1
2
3
4
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime.h
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-debug.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-generator.cc
|
View
|
1
|
4 chunks |
+18 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/x64/code-stubs-x64.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+5 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/x64/full-codegen-x64.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
5 chunks |
+8 lines, -35 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.h
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+4 lines, -17 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-run-jsexceptions.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/regress/regress-crbug-401915.js
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/webkit/webkit.status
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
Total messages: 19 (8 generated)
|