Reviewers: Michael Starzinger,

Message:
Please take a look. This is needed for the upcoming "weak maps in optimized
code" CL.


https://chromiumcodereview.appspot.com/11547015/diff/4010/src/arm/deoptimizer-arm.cc
File src/arm/deoptimizer-arm.cc (right):

https://chromiumcodereview.appspot.com/11547015/diff/4010/src/arm/deoptimizer-arm.cc#newcode49
src/arm/deoptimizer-arm.cc:49: Isolate* isolate =
function->GetIsolate();
This changes are to sync code for different architectures.

Description:
Use a filter instead of a visitor to deoptimize selected functions in a context.

This makes the DeoptimizeAll function O(n) instead of O(n^2) where n in the
number of optimized functions.

Before this change, DeoptimizeAll iterated over the optimized function list and
called DeoptimizingVisitor for each function. The visitor iterated over the
optimized function list again to remove the functions that share the same
optimized code.

This change partitions the optimized function list into one or more lists of
related functions in one pass over the optimized function list.

[email protected]

Please review this at https://chromiumcodereview.appspot.com/11547015/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/arm/deoptimizer-arm.cc
  M src/deoptimizer.h
  M src/deoptimizer.cc
  M src/ia32/deoptimizer-ia32.cc
  M src/liveedit.cc
  M src/mips/deoptimizer-mips.cc
  M src/objects-inl.h
  M src/objects.h
  M src/x64/deoptimizer-x64.cc


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to