| Index: src/ia32/lithium-ia32.cc
|
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
|
| index feb714759621bdb93f4dba2935ccad20fe296017..5aa08d9a60143487f53d1e63d12f15d83b4a61e0 100644
|
| --- a/src/ia32/lithium-ia32.cc
|
| +++ b/src/ia32/lithium-ia32.cc
|
| @@ -2092,8 +2092,13 @@ LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) {
|
| LOperand* context = UseFixed(instr->context(), esi);
|
| LOperand* global_object = UseFixed(instr->global_object(),
|
| LoadIC::ReceiverRegister());
|
| + LOperand* vector = NULL;
|
| + if (FLAG_vector_ics) {
|
| + vector = FixedTemp(LoadIC::VectorRegister());
|
| + }
|
| +
|
| LLoadGlobalGeneric* result =
|
| - new(zone()) LLoadGlobalGeneric(context, global_object);
|
| + new(zone()) LLoadGlobalGeneric(context, global_object, vector);
|
| return MarkAsCall(DefineFixed(result, eax), instr);
|
| }
|
|
|
| @@ -2147,7 +2152,12 @@ LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) {
|
| LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) {
|
| LOperand* context = UseFixed(instr->context(), esi);
|
| LOperand* object = UseFixed(instr->object(), LoadIC::ReceiverRegister());
|
| - LLoadNamedGeneric* result = new(zone()) LLoadNamedGeneric(context, object);
|
| + LOperand* vector = NULL;
|
| + if (FLAG_vector_ics) {
|
| + vector = FixedTemp(LoadIC::VectorRegister());
|
| + }
|
| + LLoadNamedGeneric* result = new(zone()) LLoadNamedGeneric(
|
| + context, object, vector);
|
| return MarkAsCall(DefineFixed(result, eax), instr);
|
| }
|
|
|
| @@ -2206,9 +2216,12 @@ LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) {
|
| LOperand* context = UseFixed(instr->context(), esi);
|
| LOperand* object = UseFixed(instr->object(), LoadIC::ReceiverRegister());
|
| LOperand* key = UseFixed(instr->key(), LoadIC::NameRegister());
|
| -
|
| + LOperand* vector = NULL;
|
| + if (FLAG_vector_ics) {
|
| + vector = FixedTemp(LoadIC::VectorRegister());
|
| + }
|
| LLoadKeyedGeneric* result =
|
| - new(zone()) LLoadKeyedGeneric(context, object, key);
|
| + new(zone()) LLoadKeyedGeneric(context, object, key, vector);
|
| return MarkAsCall(DefineFixed(result, eax), instr);
|
| }
|
|
|
|
|