Status: Accepted
Owner: [email protected]
Labels: Type-Bug Priority-Medium newgc
New issue 1456 by [email protected]: NewGC: Support incremental marking
on ARM
http://code.google.com/p/v8/issues/detail?id=1456
Steps involved:
Make sure ARM is using the RecordWrite stub everywhere as the incremental
version of RecordWrite cannot be inlined. This is similar to the x64 patch
r8221.
Make the ARM version of the RecordWrite stub patchable. This involves
finding a NOP-like instruction that has a nice big immediate field. This
then becomes the first instruction in the RecordWrite stub and can be
patched to either the NOP-like instruction or an unconditional branch.
This is analogous to the first 2-byte instruction in the
RecordWriteStub::Generate function.
Implement RecordWriteStub::GenerateIncremental. This need to call into C++
to notify the incremental marker that a pointer has been written. As an
optimization (already implemented on IA32 and x64) it can check first that
the object is black, otherwise nothing needs to be done wrt the incremental
marker. As a further optimization (already implemented on IA32) it can
check whether the value is a pointer-free object and mark it black instead
of going into C++. This uses MacroAssembler::EnsureNotWhite().
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev