Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Issue 10910161: Partial ia32 implementation of optimized try/catch (by Kevin Millikin) (Closed)

Created:
8 years, 3 months ago by Massi
Modified:
6 years, 7 months ago
Visibility:
Public.

Description

Partial ia32 implementation of optimized try/catch (by Kevin Millikin) BUG= TEST=

Patch Set 1 #

Patch Set 2 : Fixed build after merge. #

Patch Set 3 : Fixed exception object value propagation. #

Patch Set 4 : Avoid OSR on functions with catch clauses. #

Patch Set 5 : Avoid inlining functions with try-catch. #

Patch Set 6 : Accept execution of code just after a throw instruction. #

Patch Set 7 : Skip JS_ENTRY handlers in Isolate::PrepareForOptimizedHandler(). #

Patch Set 8 : Fix exception propagation. #

Patch Set 9 : Support inlining in methods with try-catch clauses. #

Patch Set 10 : Skip arguments above the handler. #

Patch Set 11 : Moved no-alloc scope because the above checks can throw. #

Patch Set 12 : In case of retrow do not try to prepare the optimized handler twice. #

Patch Set 13 : Fixed most of the threading-related issues (and interactions with the GC). #

Patch Set 14 : Re-fixed exception rethrowing. #

Patch Set 15 : Avoid fuzzing CatchInOptimizedCode. #

Patch Set 16 : The optimized pending exception must be stored in the isolate because the code before the call to t… #

Patch Set 17 : Properly cleanup also when the exception is not handled by JS code. #

Patch Set 18 : Added flag to disable try statement support in crankshaft. #

Patch Set 19 : Fix detection of CATCH frames. #

Patch Set 20 : Fixed build. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+904 lines, -223 lines) Patch
M src/ast.h View 1 2 3 6 chunks +26 lines, -11 lines 0 comments Download
M src/ast.cc View 1 2 3 4 2 chunks +9 lines, -1 line 0 comments Download
M src/compiler.cc View 1 2 3 2 chunks +2 lines, -0 lines 0 comments Download
M src/deoptimizer.h View 1 2 3 4 5 6 7 8 9 10 11 12 9 chunks +37 lines, -22 lines 0 comments Download
M src/deoptimizer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 11 chunks +82 lines, -8 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
M src/frames.h View 1 2 3 chunks +12 lines, -3 lines 0 comments Download
M src/frames.cc View 4 chunks +18 lines, -8 lines 0 comments Download
M src/frames-inl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +17 lines, -1 line 0 comments Download
M src/full-codegen.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/heap.h View 2 chunks +2 lines, -2 lines 0 comments Download
M src/heap.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/hydrogen.h View 5 chunks +20 lines, -7 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 16 chunks +62 lines, -30 lines 0 comments Download
M src/hydrogen-instructions.h View 6 chunks +48 lines, -5 lines 0 comments Download
M src/ia32/assembler-ia32.h View 3 chunks +2 lines, -3 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 chunk +15 lines, -12 lines 0 comments Download
M src/ia32/deoptimizer-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 7 chunks +151 lines, -29 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 chunks +53 lines, -2 lines 0 comments Download
M src/ia32/lithium-ia32.h View 4 chunks +21 lines, -4 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 2 chunks +14 lines, -9 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +10 lines, -5 lines 0 comments Download
M src/isolate.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 6 chunks +83 lines, -1 line 0 comments Download
M src/isolate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +95 lines, -6 lines 0 comments Download
M src/lithium.h View 1 3 chunks +11 lines, -12 lines 0 comments Download
M src/objects.h View 1 2 3 5 chunks +48 lines, -28 lines 0 comments Download
M src/objects.cc View 2 chunks +2 lines, -1 line 0 comments Download
M src/objects-inl.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M src/objects-printer.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M src/parser.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M src/platform-solaris.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/runtime.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +36 lines, -1 line 0 comments Download
M src/runtime-profiler.cc View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M src/serialize.h View 1 chunk +1 line, -1 line 0 comments Download
M test/mjsunit/fuzz-natives.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
Massi
Almost complete ia32 implementation of try/catch handling in crankshaft. The approach is to deoptimize on ...
8 years, 3 months ago (2012-09-11 09:34:24 UTC) #1
Massi
7 years, 10 months ago (2013-02-04 15:20:23 UTC) #2
Sven Panne
7 years, 7 months ago (2013-05-24 06:30:03 UTC) #3
Unboldify issue... :-P

Powered by Google App Engine
This is Rietveld 408576698