Hi Erik, Danno -

I understand your concern about the MIPS ifdefs. I've uploaded a patch from
Daniel Kalmar that cleans this up a bit, by passing a boolean (could be an emum for readability) thru some of the Visitors, which lets us remove some ifdefs.

Another thing that we could do is substitute the pre-processor symbol
V8_TARGET_ARCH_MIPS for something a little more generic sounding like
V8_ENABLE_GC_INDIRECT_POINTERS, and then define that var within one of the mips
header files.

However, that doesn't really address the issue of ifdefs in the code. It just
hides the bad-guy a little bit.

Another thing I have prototyped, but did not upload, is moving the two
mips-specific functions SlotsBuffer::ObjectSlot::GetPointer() and
SlotsBuffer::ObjectSlot::SetPointer(Object* target) from mark-compact.cc down
into src/mips/assembler-mips-inl.h.

I then added the generic version of these same functions to the other
architecture's assembler-xxx-inl.h, and just leave prototypes in class
ObjectSlot in mark-compact.h. All ifdefs are gone at that point.

If this sounds reasonable, let me know and I can upload those changes.

thanks,

paul


http://codereview.chromium.org/8106002/

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

Reply via email to