MIPS: Generate TypedArrayInitialize builtin in hydrogen.
Port r18059 (b2849c3) BUG= R=dslomov@chromium.org, gergely@homejinni.com Review URL: https://codereview.chromium.org/86053003 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
4ce1b0180b
commit
1372f76357
@ -1587,6 +1587,15 @@ LInstruction* LChunkBuilder::DoAdd(HAdd* instr) {
|
|||||||
result = AssignEnvironment(result);
|
result = AssignEnvironment(result);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
} else if (instr->representation().IsExternal()) {
|
||||||
|
ASSERT(instr->left()->representation().IsExternal());
|
||||||
|
ASSERT(instr->right()->representation().IsInteger32());
|
||||||
|
ASSERT(!instr->CheckFlag(HValue::kCanOverflow));
|
||||||
|
LOperand* left = UseRegisterAtStart(instr->left());
|
||||||
|
LOperand* right = UseOrConstantAtStart(instr->right());
|
||||||
|
LAddI* add = new(zone()) LAddI(left, right);
|
||||||
|
LInstruction* result = DefineAsRegister(add);
|
||||||
|
return result;
|
||||||
} else if (instr->representation().IsDouble()) {
|
} else if (instr->representation().IsDouble()) {
|
||||||
if (kArchVariant == kMips32r2) {
|
if (kArchVariant == kMips32r2) {
|
||||||
if (instr->left()->IsMul())
|
if (instr->left()->IsMul())
|
||||||
|
Loading…
Reference in New Issue
Block a user