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

Side by Side Diff: src/compiler/raw-machine-assembler.cc

Issue 1400753003: [Interpreter] Add array literal support. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@int_literal
Patch Set: Rebase Created 5 years, 2 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
« no previous file with comments | « src/compiler/raw-machine-assembler.h ('k') | src/interpreter/bytecode-array-builder.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/compiler/raw-machine-assembler.h" 5 #include "src/compiler/raw-machine-assembler.h"
6 6
7 #include "src/code-factory.h" 7 #include "src/code-factory.h"
8 #include "src/compiler/pipeline.h" 8 #include "src/compiler/pipeline.h"
9 #include "src/compiler/scheduler.h" 9 #include "src/compiler/scheduler.h"
10 10
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 Node* centry = HeapConstant(CEntryStub(isolate(), 1).GetCode()); 210 Node* centry = HeapConstant(CEntryStub(isolate(), 1).GetCode());
211 Node* ref = AddNode( 211 Node* ref = AddNode(
212 common()->ExternalConstant(ExternalReference(function, isolate()))); 212 common()->ExternalConstant(ExternalReference(function, isolate())));
213 Node* arity = Int32Constant(2); 213 Node* arity = Int32Constant(2);
214 214
215 return AddNode(common()->Call(descriptor), centry, arg1, arg2, ref, arity, 215 return AddNode(common()->Call(descriptor), centry, arg1, arg2, ref, arity,
216 context, graph()->start(), graph()->start()); 216 context, graph()->start(), graph()->start());
217 } 217 }
218 218
219 219
220 Node* RawMachineAssembler::CallRuntime4(Runtime::FunctionId function,
221 Node* arg1, Node* arg2, Node* arg3,
222 Node* arg4, Node* context) {
223 CallDescriptor* descriptor = Linkage::GetRuntimeCallDescriptor(
224 zone(), function, 4, Operator::kNoProperties, false);
225
226 Node* centry = HeapConstant(CEntryStub(isolate(), 1).GetCode());
227 Node* ref = AddNode(
228 common()->ExternalConstant(ExternalReference(function, isolate())));
229 Node* arity = Int32Constant(4);
230
231 return AddNode(common()->Call(descriptor), centry, arg1, arg2, arg3, arg4,
232 ref, arity, context, graph()->start(), graph()->start());
233 }
234
235
220 Node* RawMachineAssembler::CallCFunction0(MachineType return_type, 236 Node* RawMachineAssembler::CallCFunction0(MachineType return_type,
221 Node* function) { 237 Node* function) {
222 MachineSignature::Builder builder(zone(), 1, 0); 238 MachineSignature::Builder builder(zone(), 1, 0);
223 builder.AddReturn(return_type); 239 builder.AddReturn(return_type);
224 const CallDescriptor* descriptor = 240 const CallDescriptor* descriptor =
225 Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); 241 Linkage::GetSimplifiedCDescriptor(zone(), builder.Build());
226 242
227 return AddNode(common()->Call(descriptor), function, graph()->start(), 243 return AddNode(common()->Call(descriptor), function, graph()->start(),
228 graph()->start()); 244 graph()->start());
229 } 245 }
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 Node* RawMachineAssembler::MakeNode(const Operator* op, int input_count, 347 Node* RawMachineAssembler::MakeNode(const Operator* op, int input_count,
332 Node** inputs) { 348 Node** inputs) {
333 // The raw machine assembler nodes do not have effect and control inputs, 349 // The raw machine assembler nodes do not have effect and control inputs,
334 // so we disable checking input counts here. 350 // so we disable checking input counts here.
335 return graph()->NewNodeUnchecked(op, input_count, inputs); 351 return graph()->NewNodeUnchecked(op, input_count, inputs);
336 } 352 }
337 353
338 } // namespace compiler 354 } // namespace compiler
339 } // namespace internal 355 } // namespace internal
340 } // namespace v8 356 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/raw-machine-assembler.h ('k') | src/interpreter/bytecode-array-builder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698