First round of comments, mainly for the platform independent files.

As you have probably seen the isolates branch was merged with bleeding_edge on
Friday (r7268 reverted in r7269 and finally landed in r7271. This means that
this patch will have to be updated to current bleeding_edge with isolates to be committed. Looking at the changes in the ARM specific files in r7271 this should
be straight forward. You can run test.py with option --isolates to test with
several active isolates.


http://codereview.chromium.org/6709022/diff/1/src/assembler.h
File src/assembler.h (right):

http://codereview.chromium.org/6709022/diff/1/src/assembler.h#newcode361
src/assembler.h:361: // Code and Embedded Object pointers in mips are
stored split across
I don't like these platform dependent members here - if this is
currently unavoidable they should at least be inside #ifdef/#endif.

http://codereview.chromium.org/6709022/diff/1/src/mips/assembler-mips.cc
File src/mips/assembler-mips.cc (right):

http://codereview.chromium.org/6709022/diff/1/src/mips/assembler-mips.cc#newcode607
src/mips/assembler-mips.cc:607: // ASSERT(L->pos() == kEndOfChain ||
L->is_linked());
Code in comments.

http://codereview.chromium.org/6709022/diff/1/src/mips/assembler-mips.cc#newcode624
src/mips/assembler-mips.cc:624: if (rmode == RelocInfo::NONE) {
Use

return rmode != RelocInfo::NONE

instead of the if statement.

http://codereview.chromium.org/6709022/diff/1/src/mips/assembler-mips.cc#newcode988
src/mips/assembler-mips.cc:988:
You should probably consider getting rid of ppep-hole optimizations
going forward. For crankshaft we have disbled it as it was to difficult
to keep control of the code generated when jumping from optimized code
to un-optimized code.

http://codereview.chromium.org/6709022/diff/1/src/mips/assembler-mips.cc#newcode1767
src/mips/assembler-mips.cc:1767: } else {
Instead of UNIMPLEMENTED_MIPS() this should probable be UNREACHABLE().
Or even better just put in ASSERT(mips32r2).

More of these below.

http://codereview.chromium.org/6709022/diff/1/src/mips/assembler-mips.cc#newcode2072
src/mips/assembler-mips.cc:2072: // if ( ! (((instr1 & kOpcodeMask) ==
LUI && (instr2 & kOpcodeMask) == ORI) ||
Code in comments.

http://codereview.chromium.org/6709022/diff/1/src/mips/cpu-mips.cc
File src/mips/cpu-mips.cc (right):

http://codereview.chromium.org/6709022/diff/1/src/mips/cpu-mips.cc#newcode44
src/mips/cpu-mips.cc:44: #include "simulator.h"  // for cache flushing.
Please start comment with uppercase letter.

http://codereview.chromium.org/6709022/diff/1/src/mips/cpu-mips.cc#newcode53
src/mips/cpu-mips.cc:53: if (true || !CpuFeatures::IsSupported(FPU) ||
Serializer::enabled()) {
Please remove the true here. Disabling crankshaft for MIPS should be
handled by an #ifdef/#endif in flag-definitions.h.

http://codereview.chromium.org/6709022/diff/1/src/mips/cpu-mips.cc#newcode70
src/mips/cpu-mips.cc:70: #else  // simulator mode
#else comment should match the #if

http://codereview.chromium.org/6709022/diff/1/src/mips/cpu-mips.cc#newcode77
src/mips/cpu-mips.cc:77: #endif    // #ifdef __mips
#endif comment should match the #if

http://codereview.chromium.org/6709022/diff/1/src/mips/disasm-mips.cc
File src/mips/disasm-mips.cc (right):

http://codereview.chromium.org/6709022/diff/1/src/mips/disasm-mips.cc#newcode66
src/mips/disasm-mips.cc:66: #ifdef _MIPS_ARCH_MIPS32R2
Please consider moving this to constants-mips.h. See constants-arm.h for
how CAN_USE_ARMV7_INSTRUCTIONS is defined.

http://codereview.chromium.org/6709022/diff/1/src/objects-inl.h
File src/objects-inl.h (right):

http://codereview.chromium.org/6709022/diff/1/src/objects-inl.h#newcode1195
src/objects-inl.h:1195: #else  // V8_TARGET_ARCH_MIPS
I think this should be put into the macro READ_DOUBLE_FIELD, and then
there should be two different macro definitions

#ifndef V8_TARGET_ARCH_MIPS
#define READ_DOUBLE_FIELD(p, offset) \
  <current definition>
#else
#define READ_DOUBLE_FIELD(p, offset) \
  <MIPS specific definition>
#endif

http://codereview.chromium.org/6709022/diff/1/src/objects-inl.h#newcode1212
src/objects-inl.h:1212: #else  // V8_TARGET_ARCH_MIPS
Ditto.

http://codereview.chromium.org/6709022/

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

Reply via email to