Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: src/arm/lithium-codegen-arm.cc

Issue 735653003: Revert "Use a stub in crankshaft for grow store arrays." (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm/interface-descriptors-arm.cc ('k') | src/arm64/interface-descriptors-arm64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/arm/lithium-codegen-arm.h" 7 #include "src/arm/lithium-codegen-arm.h"
8 #include "src/arm/lithium-gap-resolver-arm.h" 8 #include "src/arm/lithium-gap-resolver-arm.h"
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/code-factory.h" 10 #include "src/code-factory.h"
(...skipping 3997 matching lines...) Expand 10 before | Expand all | Expand 10 after
4008 4008
4009 LPointerMap* pointers = instr->pointer_map(); 4009 LPointerMap* pointers = instr->pointer_map();
4010 SafepointGenerator generator(this, pointers, Safepoint::kLazyDeopt); 4010 SafepointGenerator generator(this, pointers, Safepoint::kLazyDeopt);
4011 4011
4012 if (instr->target()->IsConstantOperand()) { 4012 if (instr->target()->IsConstantOperand()) {
4013 LConstantOperand* target = LConstantOperand::cast(instr->target()); 4013 LConstantOperand* target = LConstantOperand::cast(instr->target());
4014 Handle<Code> code = Handle<Code>::cast(ToHandle(target)); 4014 Handle<Code> code = Handle<Code>::cast(ToHandle(target));
4015 generator.BeforeCall(__ CallSize(code, RelocInfo::CODE_TARGET)); 4015 generator.BeforeCall(__ CallSize(code, RelocInfo::CODE_TARGET));
4016 PlatformInterfaceDescriptor* call_descriptor = 4016 PlatformInterfaceDescriptor* call_descriptor =
4017 instr->descriptor().platform_specific_descriptor(); 4017 instr->descriptor().platform_specific_descriptor();
4018 if (call_descriptor != NULL) { 4018 __ Call(code, RelocInfo::CODE_TARGET, TypeFeedbackId::None(), al,
4019 __ Call(code, RelocInfo::CODE_TARGET, TypeFeedbackId::None(), al, 4019 call_descriptor->storage_mode());
4020 call_descriptor->storage_mode());
4021 } else {
4022 __ Call(code, RelocInfo::CODE_TARGET, TypeFeedbackId::None(), al);
4023 }
4024 } else { 4020 } else {
4025 DCHECK(instr->target()->IsRegister()); 4021 DCHECK(instr->target()->IsRegister());
4026 Register target = ToRegister(instr->target()); 4022 Register target = ToRegister(instr->target());
4027 generator.BeforeCall(__ CallSize(target)); 4023 generator.BeforeCall(__ CallSize(target));
4028 // Make sure we don't emit any additional entries in the constant pool 4024 // Make sure we don't emit any additional entries in the constant pool
4029 // before the call to ensure that the CallCodeSize() calculated the correct 4025 // before the call to ensure that the CallCodeSize() calculated the correct
4030 // number of instructions for the constant pool load. 4026 // number of instructions for the constant pool load.
4031 { 4027 {
4032 ConstantPoolUnavailableScope constant_pool_unavailable(masm_); 4028 ConstantPoolUnavailableScope constant_pool_unavailable(masm_);
4033 __ add(target, target, Operand(Code::kHeaderSize - kHeapObjectTag)); 4029 __ add(target, target, Operand(Code::kHeaderSize - kHeapObjectTag));
(...skipping 1876 matching lines...) Expand 10 before | Expand all | Expand 10 after
5910 __ Push(scope_info); 5906 __ Push(scope_info);
5911 __ push(ToRegister(instr->function())); 5907 __ push(ToRegister(instr->function()));
5912 CallRuntime(Runtime::kPushBlockContext, 2, instr); 5908 CallRuntime(Runtime::kPushBlockContext, 2, instr);
5913 RecordSafepoint(Safepoint::kNoLazyDeopt); 5909 RecordSafepoint(Safepoint::kNoLazyDeopt);
5914 } 5910 }
5915 5911
5916 5912
5917 #undef __ 5913 #undef __
5918 5914
5919 } } // namespace v8::internal 5915 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm/interface-descriptors-arm.cc ('k') | src/arm64/interface-descriptors-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698