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

Reply via email to