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

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

Issue 384403002: StubCallInterfaceDescriptor takes a context register. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Code comments and ports. Created 6 years, 5 months 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 | Annotate | Revision Log
« no previous file with comments | « src/arm/lithium-arm.cc ('k') | src/arm64/code-stubs-arm64.h » ('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/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/hydrogen-osr.h" 10 #include "src/hydrogen-osr.h"
(...skipping 3952 matching lines...) Expand 10 before | Expand all | Expand 10 after
3963 void LCodeGen::DoCallWithDescriptor(LCallWithDescriptor* instr) { 3963 void LCodeGen::DoCallWithDescriptor(LCallWithDescriptor* instr) {
3964 ASSERT(ToRegister(instr->result()).is(r0)); 3964 ASSERT(ToRegister(instr->result()).is(r0));
3965 3965
3966 LPointerMap* pointers = instr->pointer_map(); 3966 LPointerMap* pointers = instr->pointer_map();
3967 SafepointGenerator generator(this, pointers, Safepoint::kLazyDeopt); 3967 SafepointGenerator generator(this, pointers, Safepoint::kLazyDeopt);
3968 3968
3969 if (instr->target()->IsConstantOperand()) { 3969 if (instr->target()->IsConstantOperand()) {
3970 LConstantOperand* target = LConstantOperand::cast(instr->target()); 3970 LConstantOperand* target = LConstantOperand::cast(instr->target());
3971 Handle<Code> code = Handle<Code>::cast(ToHandle(target)); 3971 Handle<Code> code = Handle<Code>::cast(ToHandle(target));
3972 generator.BeforeCall(__ CallSize(code, RelocInfo::CODE_TARGET)); 3972 generator.BeforeCall(__ CallSize(code, RelocInfo::CODE_TARGET));
3973 PlatformCallInterfaceDescriptor* call_descriptor = 3973 PlatformInterfaceDescriptor* call_descriptor =
3974 instr->descriptor()->platform_specific_descriptor(); 3974 instr->descriptor()->platform_specific_descriptor();
3975 __ Call(code, RelocInfo::CODE_TARGET, TypeFeedbackId::None(), al, 3975 __ Call(code, RelocInfo::CODE_TARGET, TypeFeedbackId::None(), al,
3976 call_descriptor->storage_mode()); 3976 call_descriptor->storage_mode());
3977 } else { 3977 } else {
3978 ASSERT(instr->target()->IsRegister()); 3978 ASSERT(instr->target()->IsRegister());
3979 Register target = ToRegister(instr->target()); 3979 Register target = ToRegister(instr->target());
3980 generator.BeforeCall(__ CallSize(target)); 3980 generator.BeforeCall(__ CallSize(target));
3981 // Make sure we don't emit any additional entries in the constant pool 3981 // Make sure we don't emit any additional entries in the constant pool
3982 // before the call to ensure that the CallCodeSize() calculated the correct 3982 // before the call to ensure that the CallCodeSize() calculated the correct
3983 // number of instructions for the constant pool load. 3983 // number of instructions for the constant pool load.
(...skipping 1895 matching lines...) Expand 10 before | Expand all | Expand 10 after
5879 __ Push(scope_info); 5879 __ Push(scope_info);
5880 __ push(ToRegister(instr->function())); 5880 __ push(ToRegister(instr->function()));
5881 CallRuntime(Runtime::kPushBlockContext, 2, instr); 5881 CallRuntime(Runtime::kPushBlockContext, 2, instr);
5882 RecordSafepoint(Safepoint::kNoLazyDeopt); 5882 RecordSafepoint(Safepoint::kNoLazyDeopt);
5883 } 5883 }
5884 5884
5885 5885
5886 #undef __ 5886 #undef __
5887 5887
5888 } } // namespace v8::internal 5888 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm/lithium-arm.cc ('k') | src/arm64/code-stubs-arm64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698