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

Reply via email to