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

Side by Side Diff: src/code-factory.cc

Issue 1557883002: Optimized TurboFan support for rest args. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Code comments, unit tests. Created 4 years, 11 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/code-factory.h ('k') | src/compiler/js-typed-lowering.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/code-factory.h" 5 #include "src/code-factory.h"
6 6
7 #include "src/bootstrapper.h" 7 #include "src/bootstrapper.h"
8 #include "src/ic/ic.h" 8 #include "src/ic/ic.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 bool is_unmapped_arguments, 275 bool is_unmapped_arguments,
276 bool has_duplicate_parameters) { 276 bool has_duplicate_parameters) {
277 ArgumentsAccessStub::Type type = ArgumentsAccessStub::ComputeType( 277 ArgumentsAccessStub::Type type = ArgumentsAccessStub::ComputeType(
278 is_unmapped_arguments, has_duplicate_parameters); 278 is_unmapped_arguments, has_duplicate_parameters);
279 ArgumentsAccessStub stub(isolate, type); 279 ArgumentsAccessStub stub(isolate, type);
280 return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); 280 return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
281 } 281 }
282 282
283 283
284 // static 284 // static
285 Callable CodeFactory::RestArgumentsAccess(Isolate* isolate) {
286 RestParamAccessStub stub(isolate);
287 return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
288 }
289
290
291 // static
285 Callable CodeFactory::AllocateHeapNumber(Isolate* isolate) { 292 Callable CodeFactory::AllocateHeapNumber(Isolate* isolate) {
286 AllocateHeapNumberStub stub(isolate); 293 AllocateHeapNumberStub stub(isolate);
287 return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); 294 return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
288 } 295 }
289 296
290 297
291 // static 298 // static
292 Callable CodeFactory::AllocateMutableHeapNumber(Isolate* isolate) { 299 Callable CodeFactory::AllocateMutableHeapNumber(Isolate* isolate) {
293 AllocateMutableHeapNumberStub stub(isolate); 300 AllocateMutableHeapNumberStub stub(isolate);
294 return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); 301 return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 Callable CodeFactory::InterpreterCEntry(Isolate* isolate) { 362 Callable CodeFactory::InterpreterCEntry(Isolate* isolate) {
356 // TODO(rmcilroy): Deal with runtime functions that return two values. 363 // TODO(rmcilroy): Deal with runtime functions that return two values.
357 // Note: If we ever use fpregs in the interpreter then we will need to 364 // Note: If we ever use fpregs in the interpreter then we will need to
358 // save fpregs too. 365 // save fpregs too.
359 CEntryStub stub(isolate, 1, kDontSaveFPRegs, kArgvInRegister); 366 CEntryStub stub(isolate, 1, kDontSaveFPRegs, kArgvInRegister);
360 return Callable(stub.GetCode(), InterpreterCEntryDescriptor(isolate)); 367 return Callable(stub.GetCode(), InterpreterCEntryDescriptor(isolate));
361 } 368 }
362 369
363 } // namespace internal 370 } // namespace internal
364 } // namespace v8 371 } // namespace v8
OLDNEW
« no previous file with comments | « src/code-factory.h ('k') | src/compiler/js-typed-lowering.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698