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