| Index: src/ia32/code-stubs-ia32.cc
|
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
|
| index 4d0a2953d12a9cab8727d064f8d974b7dadf30b4..8e1088f54afb84f18ce5e6e87f53a7ab7c90f1e9 100644
|
| --- a/src/ia32/code-stubs-ia32.cc
|
| +++ b/src/ia32/code-stubs-ia32.cc
|
| @@ -653,19 +653,14 @@ void MathPowStub::Generate(MacroAssembler* masm) {
|
| void FunctionPrototypeStub::Generate(MacroAssembler* masm) {
|
| Label miss;
|
| Register receiver = LoadDescriptor::ReceiverRegister();
|
| - if (FLAG_vector_ics) {
|
| - // With careful management, we won't have to save slot and vector on
|
| - // the stack. Simply handle the possibly missing case first.
|
| - // TODO(mvstanton): this code can be more efficient.
|
| - __ cmp(FieldOperand(receiver, JSFunction::kPrototypeOrInitialMapOffset),
|
| - Immediate(isolate()->factory()->the_hole_value()));
|
| - __ j(equal, &miss);
|
| - __ TryGetFunctionPrototype(receiver, eax, ebx, &miss);
|
| - __ ret(0);
|
| - } else {
|
| - NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, eax,
|
| - ebx, &miss);
|
| - }
|
| + // With careful management, we won't have to save slot and vector on
|
| + // the stack. Simply handle the possibly missing case first.
|
| + // TODO(mvstanton): this code can be more efficient.
|
| + __ cmp(FieldOperand(receiver, JSFunction::kPrototypeOrInitialMapOffset),
|
| + Immediate(isolate()->factory()->the_hole_value()));
|
| + __ j(equal, &miss);
|
| + __ TryGetFunctionPrototype(receiver, eax, ebx, &miss);
|
| + __ ret(0);
|
|
|
| __ bind(&miss);
|
| PropertyAccessCompiler::TailCallBuiltin(
|
| @@ -713,9 +708,8 @@ void LoadIndexedStringStub::Generate(MacroAssembler* masm) {
|
| DCHECK(!scratch.is(receiver) && !scratch.is(index));
|
| Register result = eax;
|
| DCHECK(!result.is(scratch));
|
| - DCHECK(!FLAG_vector_ics ||
|
| - (!scratch.is(VectorLoadICDescriptor::VectorRegister()) &&
|
| - result.is(VectorLoadICDescriptor::SlotRegister())));
|
| + DCHECK(!scratch.is(VectorLoadICDescriptor::VectorRegister()) &&
|
| + result.is(VectorLoadICDescriptor::SlotRegister()));
|
|
|
| // StringCharAtGenerator doesn't use the result register until it's passed
|
| // the different miss possibilities. If it did, we would have a conflict
|
| @@ -2962,7 +2956,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
| index_not_number_,
|
| DONT_DO_SMI_CHECK);
|
| call_helper.BeforeCall(masm);
|
| - if (FLAG_vector_ics && embed_mode == PART_OF_IC_HANDLER) {
|
| + if (embed_mode == PART_OF_IC_HANDLER) {
|
| __ push(VectorLoadICDescriptor::VectorRegister());
|
| __ push(VectorLoadICDescriptor::SlotRegister());
|
| }
|
| @@ -2981,7 +2975,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
| __ mov(index_, eax);
|
| }
|
| __ pop(object_);
|
| - if (FLAG_vector_ics && embed_mode == PART_OF_IC_HANDLER) {
|
| + if (embed_mode == PART_OF_IC_HANDLER) {
|
| __ pop(VectorLoadICDescriptor::SlotRegister());
|
| __ pop(VectorLoadICDescriptor::VectorRegister());
|
| }
|
|
|