MIPS: Fix debug mode webkit failures.
* Handles SMI case in EmitLoadRegister correctly. * Fix minor mistake in the assembler. BUG=v8:2808 TEST=webkit/dfg-dead-min-two-args,webkit/fast/js/excessive-comma-usage Review URL: https://codereview.chromium.org/20801003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
bac2da6421
commit
7ac6d35d1d
@ -1347,7 +1347,7 @@ void Assembler::rotrv(Register rd, Register rt, Register rs) {
|
||||
// Helper for base-reg + offset, when offset is larger than int16.
|
||||
void Assembler::LoadRegPlusOffsetToAt(const MemOperand& src) {
|
||||
ASSERT(!src.rm().is(at));
|
||||
lui(at, src.offset_ >> kLuiShift);
|
||||
lui(at, (src.offset_ >> kLuiShift) & kImm16Mask);
|
||||
ori(at, at, src.offset_ & kImm16Mask); // Load 32-bit offset.
|
||||
addu(at, at, src.rm()); // Add base register.
|
||||
}
|
||||
|
@ -407,6 +407,9 @@ Register LCodeGen::EmitLoadRegister(LOperand* op, Register scratch) {
|
||||
if (r.IsInteger32()) {
|
||||
ASSERT(literal->IsNumber());
|
||||
__ li(scratch, Operand(static_cast<int32_t>(literal->Number())));
|
||||
} else if (r.IsSmi()) {
|
||||
ASSERT(constant->HasSmiValue());
|
||||
__ li(scratch, Operand(Smi::FromInt(constant->Integer32Value())));
|
||||
} else if (r.IsDouble()) {
|
||||
Abort("EmitLoadRegister: Unsupported double immediate.");
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user