There are some issues that need to be fixed, but I am giving this an LGTM to
un-break the build. (It does pass tests in its current state)
Please submit a follow-up CL tomorrow to address these issues.
https://codereview.chromium.org/931263002/diff/1/src/compiler/mips/code-generator-mips.cc
File src/compiler/mips/code-generator-mips.cc (right):
https://codereview.chromium.org/931263002/diff/1/src/compiler/mips/code-generator-mips.cc#newcode905
src/compiler/mips/code-generator-mips.cc:905: __ bal(&here);
We need a BlockTrampolinePoolFor() call before this bal() to cover the
table size, and the instructions to index the table.
https://codereview.chromium.org/931263002/diff/1/src/compiler/mips/instruction-selector-mips.cc
File src/compiler/mips/instruction-selector-mips.cc (right):
https://codereview.chromium.org/931263002/diff/1/src/compiler/mips/instruction-selector-mips.cc#newcode764
src/compiler/mips/instruction-selector-mips.cc:764: size_t
table_space_cost = 4 + value_range;
The cost numbers here are incorrect for MIPS, since we use more
instructions for the jump table implementation. Please update these.
https://codereview.chromium.org/931263002/diff/1/src/compiler/mips64/code-generator-mips64.cc
File src/compiler/mips64/code-generator-mips64.cc (right):
https://codereview.chromium.org/931263002/diff/1/src/compiler/mips64/code-generator-mips64.cc#newcode1061
src/compiler/mips64/code-generator-mips64.cc:1061: // Ensure that dd-ed
labels goes to 8 byte aligned addresses.
nit: "goes to ... " should probably be "use 8 byte aligned locations"
https://codereview.chromium.org/931263002/diff/1/src/compiler/mips64/code-generator-mips64.cc#newcode1065
src/compiler/mips64/code-generator-mips64.cc:1065: __ bal(&here);
Add BlockTrampolinePoolFor() to cover table and indexing into it.
https://codereview.chromium.org/931263002/diff/1/src/compiler/mips64/instruction-selector-mips64.cc
File src/compiler/mips64/instruction-selector-mips64.cc (right):
https://codereview.chromium.org/931263002/diff/1/src/compiler/mips64/instruction-selector-mips64.cc#newcode986
src/compiler/mips64/instruction-selector-mips64.cc:986: size_t
table_time_cost = 3;
as in mips32 port, the costs must be calculated correctly based on our
actual instruction counts.
https://codereview.chromium.org/931263002/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.