Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Issue 1320006: Updates and fixes for MIPS support. (Closed)

Created:
10 years, 9 months ago by Alexandre
Modified:
10 years, 7 months ago
CC:
v8-dev, plind_mips.com, michael_ignaszewski_sdesigns.com
Visibility:
Public.

Description

Updates and fixes for MIPS support.

Patch Set 1 #

Total comments: 6

Patch Set 2 : '' #

Total comments: 2

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 20
Unified diffs Side-by-side diffs Delta from patch set Stats (+2018 lines, -523 lines) Patch
M src/flag-definitions.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/globals.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/mips/assembler-mips.h View 1 2 3 8 chunks +79 lines, -10 lines 1 comment Download
M src/mips/assembler-mips.cc View 1 2 3 10 chunks +132 lines, -28 lines 5 comments Download
M src/mips/builtins-mips.cc View 5 chunks +10 lines, -10 lines 0 comments Download
M src/mips/codegen-mips.cc View 1 2 3 38 chunks +216 lines, -68 lines 1 comment Download
M src/mips/constants-mips.h View 1 2 3 10 chunks +95 lines, -4 lines 1 comment Download
src/mips/constants-mips.cc View 5 chunks +62 lines, -4 lines 0 comments Download
M src/mips/cpu-mips.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/mips/disasm-mips.cc View 1 2 3 17 chunks +186 lines, -39 lines 0 comments Download
M src/mips/frames-mips.h View 1 chunk +2 lines, -0 lines 1 comment Download
M src/mips/frames-mips.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/mips/ic-mips.cc View 6 chunks +23 lines, -5 lines 0 comments Download
M src/mips/jump-target-mips.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/mips/macro-assembler-mips.h View 14 chunks +107 lines, -55 lines 4 comments Download
M src/mips/macro-assembler-mips.cc View 1 2 3 29 chunks +326 lines, -154 lines 7 comments Download
M src/mips/simulator-mips.h View 3 chunks +16 lines, -0 lines 0 comments Download
M src/mips/simulator-mips.cc View 1 2 3 30 chunks +241 lines, -77 lines 0 comments Download
M src/mips/stub-cache-mips.cc View 26 chunks +29 lines, -5 lines 0 comments Download
M src/mips/virtual-frame-mips.h View 1 2 3 5 chunks +4 lines, -16 lines 0 comments Download
M src/mips/virtual-frame-mips.cc View 4 chunks +8 lines, -21 lines 0 comments Download
M src/platform.h View 1 chunk +3 lines, -0 lines 0 comments Download
src/platform-linux.cc View 2 chunks +55 lines, -0 lines 0 comments Download
M test/cctest/test-assembler-mips.cc View 1 2 3 4 chunks +393 lines, -19 lines 0 comments Download
M test/cctest/test-mips.cc View 1 2 3 1 chunk +23 lines, -4 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
Alexandre
Hi, Here is an update for MIPS code, done by Paul Lind from MIPS. It ...
10 years, 9 months ago (2010-03-25 10:40:44 UTC) #1
Søren Thygesen Gjesse
LGTM Thanks for the patch, I will land it when the minor comments have been ...
10 years, 8 months ago (2010-04-06 18:10:02 UTC) #2
Alexandre
Hi Søren, I just fixed the code. I'll rebase it on bleeding edge once it ...
10 years, 8 months ago (2010-04-08 09:16:11 UTC) #3
Søren Thygesen Gjesse
LGTM http://codereview.chromium.org/1320006/diff/15001/16002 File test/cctest/test-mips.cc (right): http://codereview.chromium.org/1320006/diff/15001/16002#newcode58 test/cctest/test-mips.cc:58: CHECK_EQ(0x80, script->Run()->Int32Value()); I was actually thinking of testing ...
10 years, 8 months ago (2010-04-08 09:33:12 UTC) #4
Alexandre
Hi, I just updated test-mips.cc with a cleaner test. Thanks, Alexandre http://codereview.chromium.org/1320006/diff/15001/16002 File test/cctest/test-mips.cc (right): ...
10 years, 8 months ago (2010-04-08 09:55:13 UTC) #5
Søren Thygesen Gjesse
On 2010/04/08 09:55:13, Alexandre wrote: > Hi, > > I just updated test-mips.cc with a ...
10 years, 8 months ago (2010-04-08 10:39:44 UTC) #6
Alexandre
Hi Søren, I finally took some time to update the MIPS support. This update contains ...
10 years, 7 months ago (2010-05-20 16:59:37 UTC) #7
Søren Thygesen Gjesse
On 2010/05/20 16:59:37, Alexandre wrote: > Hi Søren, > > I finally took some time ...
10 years, 7 months ago (2010-05-25 08:52:57 UTC) #8
Søren Thygesen Gjesse
10 years, 7 months ago (2010-05-25 09:00:54 UTC) #9
And here are the comments.

http://codereview.chromium.org/1320006/diff/35001/36005
File src/mips/assembler-mips.cc (right):

http://codereview.chromium.org/1320006/diff/35001/36005#newcode56
src/mips/assembler-mips.cc:56: supported_ |= 1u << FPU;
Only 2 space indent.

http://codereview.chromium.org/1320006/diff/35001/36005#newcode975
src/mips/assembler-mips.cc:975: // load to two 32-bit loads. This really should
be done in macro-assembler,
I think you should just remove "This really should be done in macro-assembler,
but this should be temporary...."

http://codereview.chromium.org/1320006/diff/35001/36005#newcode981
src/mips/assembler-mips.cc:981: // GenInstrImmediate(LDC1, src.rm(), fd,
src.offset_);
Please remove code in comments.

http://codereview.chromium.org/1320006/diff/35001/36005#newcode992
src/mips/assembler-mips.cc:992: // store to two 32-bit stores. This really
should be done in macro-assembler,
Ditto.

http://codereview.chromium.org/1320006/diff/35001/36005#newcode998
src/mips/assembler-mips.cc:998: // GenInstrImmediate(SDC1, src.rm(), fd,
src.offset_);
Ditto.

http://codereview.chromium.org/1320006/diff/35001/36008
File src/mips/assembler-mips.h (right):

http://codereview.chromium.org/1320006/diff/35001/36008#newcode142
src/mips/assembler-mips.h:142: void setcode(int f) {
setcode -> set_code

http://codereview.chromium.org/1320006/diff/35001/36003
File src/mips/codegen-mips.cc (right):

http://codereview.chromium.org/1320006/diff/35001/36003#newcode1285
src/mips/codegen-mips.cc:1285: __ addiu(sp, sp,
-StandardFrameConstants::kCArgsSlotsSize);
Please add a comment on the usage of the branch delay slot and on the
instruction where execution continues after return.

http://codereview.chromium.org/1320006/diff/35001/36006
File src/mips/constants-mips.h (right):

http://codereview.chromium.org/1320006/diff/35001/36006#newcode597
src/mips/constants-mips.h:597: static const int kBArgsSlotsSize = 0 *
Instruction::kInstructionSize;
DO you need a separate constant for builtins? Aren't they always called like
JavaScript?

http://codereview.chromium.org/1320006/diff/35001/36022
File src/mips/frames-mips.h (right):

http://codereview.chromium.org/1320006/diff/35001/36022#newcode125
src/mips/frames-mips.h:125: // C/C++ argument slots size.
Aren't these constants duplicated here and in constants-mips.h?

http://codereview.chromium.org/1320006/diff/35001/36004
File src/mips/macro-assembler-mips.cc (right):

http://codereview.chromium.org/1320006/diff/35001/36004#newcode55
src/mips/macro-assembler-mips.cc:55: bool ProtectBranchDelaySlot) { \
ProtectBranchDelaySlot -> protect_branch_delay_slot

http://codereview.chromium.org/1320006/diff/35001/36004#newcode142
src/mips/macro-assembler-mips.cc:142: Branch(2, NegateCondition(cond), src1,
src2);
Assert that lw generates 2 instructions? Or use a label?

http://codereview.chromium.org/1320006/diff/35001/36004#newcode525
src/mips/macro-assembler-mips.cc:525: if (ProtectBranchDelaySlot)
Either use {}'s or place the nop() on the same line as the if.

http://codereview.chromium.org/1320006/diff/35001/36004#newcode559
src/mips/macro-assembler-mips.cc:559: // instruction, as the location will be
remember for patching the target.
remember -> remembered

http://codereview.chromium.org/1320006/diff/35001/36004#newcode860
src/mips/macro-assembler-mips.cc:860: Branch(2, NegateCondition(cond), rs, rt);
Please use use either labels to jump or assert the number of instructions
generated in some way. Several places below.

http://codereview.chromium.org/1320006/diff/35001/36004#newcode1214
src/mips/macro-assembler-mips.cc:1214: addiu(sp, sp,
-StandardFrameConstants::kBArgsSlotsSize);
Please add a comment that the second addiu will be executed after return.

http://codereview.chromium.org/1320006/diff/35001/36004#newcode1224
src/mips/macro-assembler-mips.cc:1224: addiu(sp, sp,
-StandardFrameConstants::kBArgsSlotsSize);
Ditto.

http://codereview.chromium.org/1320006/diff/35001/36020
File src/mips/macro-assembler-mips.h (right):

http://codereview.chromium.org/1320006/diff/35001/36020#newcode46
src/mips/macro-assembler-mips.h:46: // Unless we know exactly what we do.
Therefore we create another scratch reg.
Remove "Unless we know exactly what we do."?

http://codereview.chromium.org/1320006/diff/35001/36020#newcode65
src/mips/macro-assembler-mips.h:65: // Arguments macros
Are you sure that using these macros here are beneficial?

http://codereview.chromium.org/1320006/diff/35001/36020#newcode245
src/mips/macro-assembler-mips.h:245: Branch(3, cond, tst1, Operand(tst2));
The constant 3 relies on Addu only generates one instruction. Could that be
asserted?

http://codereview.chromium.org/1320006/diff/35001/36020#newcode329
src/mips/macro-assembler-mips.h:329: // Clobber t0, t1, t2.
Clobber -> Clobbers

Powered by Google App Engine
This is Rietveld 408576698