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

Side by Side Diff: src/code-stubs-hydrogen.cc

Issue 384403002: StubCallInterfaceDescriptor takes a context register. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Base class for Descriptors. 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
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/code-stubs.h" 7 #include "src/code-stubs.h"
8 #include "src/field-index.h" 8 #include "src/field-index.h"
9 #include "src/hydrogen.h" 9 #include "src/hydrogen.h"
10 #include "src/lithium.h" 10 #include "src/lithium.h"
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 int param_count = descriptor_->register_param_count(); 119 int param_count = descriptor_->register_param_count();
120 HEnvironment* start_environment = graph()->start_environment(); 120 HEnvironment* start_environment = graph()->start_environment();
121 HBasicBlock* next_block = CreateBasicBlock(start_environment); 121 HBasicBlock* next_block = CreateBasicBlock(start_environment);
122 Goto(next_block); 122 Goto(next_block);
123 next_block->SetJoinId(BailoutId::StubEntry()); 123 next_block->SetJoinId(BailoutId::StubEntry());
124 set_current_block(next_block); 124 set_current_block(next_block);
125 125
126 bool runtime_stack_params = descriptor_->stack_parameter_count().is_valid(); 126 bool runtime_stack_params = descriptor_->stack_parameter_count().is_valid();
127 HInstruction* stack_parameter_count = NULL; 127 HInstruction* stack_parameter_count = NULL;
128 for (int i = 0; i < param_count; ++i) { 128 for (int i = 0; i < param_count; ++i) {
129 Representation r = descriptor_->GetRegisterParameterRepresentation(i); 129 Representation r = descriptor_->GetParameterRepresentation(i);
130 HParameter* param = Add<HParameter>(i, HParameter::REGISTER_PARAMETER, r); 130 HParameter* param = Add<HParameter>(i, HParameter::REGISTER_PARAMETER, r);
131 start_environment->Bind(i, param); 131 start_environment->Bind(i, param);
132 parameters_[i] = param; 132 parameters_[i] = param;
133 if (descriptor_->IsParameterCountRegister(i)) { 133 if (descriptor_->IsParameterCountRegister(i)) {
134 param->set_type(HType::Smi()); 134 param->set_type(HType::Smi());
135 stack_parameter_count = param; 135 stack_parameter_count = param;
136 arguments_length_ = stack_parameter_count; 136 arguments_length_ = stack_parameter_count;
137 } 137 }
138 } 138 }
139 139
(...skipping 1585 matching lines...) Expand 10 before | Expand all | Expand 10 after
1725 return Pop(); 1725 return Pop();
1726 } 1726 }
1727 1727
1728 1728
1729 Handle<Code> KeyedLoadGenericElementStub::GenerateCode() { 1729 Handle<Code> KeyedLoadGenericElementStub::GenerateCode() {
1730 return DoGenerateCode(this); 1730 return DoGenerateCode(this);
1731 } 1731 }
1732 1732
1733 1733
1734 } } // namespace v8::internal 1734 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698