nit: please edit commit message to say "Fix illegal use of ....", rather
than
Fixing (2 places)
I'm assuming from your change to lithium-codegen-mips that you ran tests, to
look for additional bad uses of 'at' in ldc1/sdc1. Please confirm this.
https://codereview.chromium.org/1323763002/diff/1/src/compiler/mips/code-generator-mips.cc
File src/compiler/mips/code-generator-mips.cc (right):
https://codereview.chromium.org/1323763002/diff/1/src/compiler/mips/code-generator-mips.cc#newcode308
src/compiler/mips/code-generator-mips.cc:308: __ asm_instr(result,
MemOperand(t8, 0)); \
I think these temp regs should be kScratchReg or possibly kScratchReg2.
t8 is reserved for macro-assembler, and we should probably preserve that
layering.
Also note that Assembler::sdc1() now uses t8 as a 2nd temporary. I think
that usage would still work, since we would only overwrite t8 after we
have the address, but it seems a bit fragile.
https://codereview.chromium.org/1323763002/diff/1/src/compiler/mips64/code-generator-mips64.cc
File src/compiler/mips64/code-generator-mips64.cc (right):
https://codereview.chromium.org/1323763002/diff/1/src/compiler/mips64/code-generator-mips64.cc#newcode309
src/compiler/mips64/code-generator-mips64.cc:309: __ asm_instr(result,
MemOperand(t8, 0)); \
I think these temp regs should be kScratchReg or possibly kScratchReg2.
t8 is
reserved for macro-assembler, and we should probably preserve that
layering.
https://codereview.chromium.org/1323763002/diff/1/src/mips/assembler-mips.cc
File src/mips/assembler-mips.cc (right):
https://codereview.chromium.org/1323763002/diff/1/src/mips/assembler-mips.cc#newcode2027
src/mips/assembler-mips.cc:2027: CHECK(!src.rm().is(at));
I think these should be DCHECK (here and below).
https://codereview.chromium.org/1323763002/diff/1/src/mips/assembler-mips.cc#newcode2084
src/mips/assembler-mips.cc:2084: mfhc1(t8, fd);
Note the use of t8 here. (t8 is reserved for macro-assembler use, but
this is probably ok, as ldc1 and sdc1 _should_ be moved to
macro-assembler anyway (as Ldc1() and Sdc1(), I will create an issue for
that.)
It might make sense to add another DCHECK within this block:
DCHECK(!src.rm().is(t8));
https://codereview.chromium.org/1323763002/diff/1/src/mips64/assembler-mips64.cc
File src/mips64/assembler-mips64.cc (right):
https://codereview.chromium.org/1323763002/diff/1/src/mips64/assembler-mips64.cc#newcode2379
src/mips64/assembler-mips64.cc:2379: CHECK(!src.rm().is(at));
DCHECK() here and below.
https://codereview.chromium.org/1323763002/
--
--
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.