Reviewers: Michael Starzinger, Kevin Millikin,
Message:
Almost complete ia32 implementation of try/catch handling in crankshaft.
The approach is to deoptimize on throw and execute the catch clause in
fullgen
code (but keeping the optimized code because it is not "wrong", it just
threw an
exception).
The first chunk of code comes from kmillikin, and every subsequent CL fixes
one
issue, hopefully this will make the review easier.
At this point there are only six tests failing in "make check" with two
kind of
failures: some kind of context problem (the current context is wrong and
symbols
are not found) and a heisenbug crash.
Description:
Partial ia32 implementation of optimized try/catch (by Kevin Millikin)
BUG=
TEST=
Please review this at https://chromiumcodereview.appspot.com/10910161/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/ast.h
M src/ast.cc
M src/compiler.cc
M src/deoptimizer.h
M src/deoptimizer.cc
M src/flag-definitions.h
M src/frames-inl.h
M src/frames.h
M src/frames.cc
M src/full-codegen.cc
M src/heap.h
M src/heap.cc
M src/hydrogen-instructions.h
M src/hydrogen.h
M src/hydrogen.cc
M src/ia32/assembler-ia32.h
M src/ia32/builtins-ia32.cc
M src/ia32/deoptimizer-ia32.cc
M src/ia32/lithium-codegen-ia32.h
M src/ia32/lithium-codegen-ia32.cc
M src/ia32/lithium-ia32.h
M src/ia32/lithium-ia32.cc
M src/ia32/macro-assembler-ia32.cc
M src/isolate.h
M src/isolate.cc
M src/lithium.h
M src/objects-inl.h
M src/objects-printer.cc
M src/objects.h
M src/objects.cc
M src/parser.cc
M src/platform-solaris.cc
M src/runtime-profiler.cc
M src/runtime.h
M src/runtime.cc
M src/serialize.h
M test/mjsunit/fuzz-natives.js
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev