PTAL: I needed to switch to using the type feedback field of the code object
instead of gc_metadata.
https://codereview.chromium.org/19638014/diff/1/src/deoptimizer.cc
File src/deoptimizer.cc (right):
https://codereview.chromium.org/19638014/diff/1/src/deoptimizer.cc#newcode486
src/deoptimizer.cc:486:
codes->at(i)->set_marked_for_deoptimization(true);
On 2013/07/22 09:23:08, ulan wrote:
Maybe move marking for deoptimization to the places where the code is
added to
the list? Then maintain invariant: code is in the list => code is
marked for
deopt.
I wanted to keep the modification of this flag local to the deoptimizer.
https://codereview.chromium.org/19638014/diff/1/src/mark-compact.cc
File src/mark-compact.cc (right):
https://codereview.chromium.org/19638014/diff/1/src/mark-compact.cc#newcode491
src/mark-compact.cc:491: // The gc_metadata field is used as a linked
list of code to deopt.
On 2013/07/22 09:23:08, ulan wrote:
Maybe assert that code->gc_metadata() is optimized code or undefined
or 0? To
get at leat some check against overlapping usage of the field by code
flusher
and deoptimizer.
I've had to rework this function because I was not able to use the
gc_metadata on Code objects :(
https://codereview.chromium.org/19638014/diff/1/src/objects.cc
File src/objects.cc (right):
https://codereview.chromium.org/19638014/diff/1/src/objects.cc#newcode11354
src/objects.cc:11354: if (!code->marked_for_deoptimization())
codes.Add(code, &zone);
On 2013/07/22 09:23:08, ulan wrote:
code->set_marked_for_deoptimization(true) after adding to the list
would make it
more robust against duplicates.
Done.
https://codereview.chromium.org/19638014/diff/1/src/objects.h
File src/objects.h (right):
https://codereview.chromium.org/19638014/diff/1/src/objects.h#newcode4557
src/objects.h:4557: // unoptimized code. Optimized code can temporarily
store the head of
On 2013/07/22 09:23:08, ulan wrote:
This comment is out of sync with code.
Done.
https://codereview.chromium.org/19638014/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.