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:
palfia@homejinni.com 2013-11-25 21:25:15 +00:00
parent 4ce1b0180b
commit 1372f76357

View File

@ -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())