MIPS: Re-land r25392 Use a stub in crankshaft for grow store arrays.

Port 47f55baeaf

Original commit message:
Code was vulnerable to different evaluation order in Clang.

BUG=
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/735783002

Patch from Balazs Kilvady <balazs.kilvady@imgtec.com>.

Cr-Commit-Position: refs/heads/master@{#25404}
This commit is contained in:
Balazs Kilvady 2014-11-18 10:22:11 -08:00 committed by Paul Lind
parent 0518a68bac
commit a08a730a8d
2 changed files with 12 additions and 0 deletions

View File

@ -54,6 +54,12 @@ const Register MathPowIntegerDescriptor::exponent() {
}
// IC register specifications
const Register GrowArrayElementsDescriptor::ObjectRegister() { return a0; }
const Register GrowArrayElementsDescriptor::KeyRegister() { return a1; }
const Register GrowArrayElementsDescriptor::CapacityRegister() { return a2; }
void FastNewClosureDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {cp, a2};
data->Initialize(arraysize(registers), registers, NULL);

View File

@ -60,6 +60,12 @@ void FastNewClosureDescriptor::Initialize(CallInterfaceDescriptorData* data) {
}
// IC register specifications
const Register GrowArrayElementsDescriptor::ObjectRegister() { return a0; }
const Register GrowArrayElementsDescriptor::KeyRegister() { return a1; }
const Register GrowArrayElementsDescriptor::CapacityRegister() { return a2; }
void FastNewContextDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {cp, a1};
data->Initialize(arraysize(registers), registers, NULL);