| OLD | NEW |
| 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 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 RegExpExecStub stub(isolate); | 186 RegExpExecStub stub(isolate); |
| 187 return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); | 187 return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); |
| 188 } | 188 } |
| 189 | 189 |
| 190 // static | 190 // static |
| 191 Callable CodeFactory::StringFromCharCode(Isolate* isolate) { | 191 Callable CodeFactory::StringFromCharCode(Isolate* isolate) { |
| 192 Handle<Code> code(isolate->builtins()->StringFromCharCode()); | 192 Handle<Code> code(isolate->builtins()->StringFromCharCode()); |
| 193 return Callable(code, BuiltinDescriptor(isolate)); | 193 return Callable(code, BuiltinDescriptor(isolate)); |
| 194 } | 194 } |
| 195 | 195 |
| 196 #define DECLARE_TFS(Name, Kind, Extra, InterfaceDescriptor) \ | 196 #define DECLARE_TFS(Name, Kind, Extra, InterfaceDescriptor, result_size) \ |
| 197 typedef InterfaceDescriptor##Descriptor Name##Descriptor; | 197 typedef InterfaceDescriptor##Descriptor Name##Descriptor; |
| 198 BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, DECLARE_TFS, | 198 BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, DECLARE_TFS, |
| 199 IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN) | 199 IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN) |
| 200 #undef DECLARE_TFS | 200 #undef DECLARE_TFS |
| 201 | 201 |
| 202 #define TFS_BUILTIN(Name) \ | 202 #define TFS_BUILTIN(Name) \ |
| 203 Callable CodeFactory::Name(Isolate* isolate) { \ | 203 Callable CodeFactory::Name(Isolate* isolate) { \ |
| 204 Handle<Code> code(isolate->builtins()->Name()); \ | 204 Handle<Code> code(isolate->builtins()->Name()); \ |
| 205 return Callable(code, Name##Descriptor(isolate)); \ | 205 return Callable(code, Name##Descriptor(isolate)); \ |
| 206 } | 206 } |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 FastNewRestParameterDescriptor(isolate)); | 357 FastNewRestParameterDescriptor(isolate)); |
| 358 } | 358 } |
| 359 | 359 |
| 360 // static | 360 // static |
| 361 Callable CodeFactory::FastNewStrictArguments(Isolate* isolate) { | 361 Callable CodeFactory::FastNewStrictArguments(Isolate* isolate) { |
| 362 return Callable(isolate->builtins()->FastNewStrictArguments(), | 362 return Callable(isolate->builtins()->FastNewStrictArguments(), |
| 363 FastNewRestParameterDescriptor(isolate)); | 363 FastNewRestParameterDescriptor(isolate)); |
| 364 } | 364 } |
| 365 | 365 |
| 366 // static | 366 // static |
| 367 Callable CodeFactory::ForInPrepare(Isolate* isolate) { |
| 368 return Callable(isolate->builtins()->ForInPrepare(), |
| 369 ForInPrepareDescriptor(isolate)); |
| 370 } |
| 371 |
| 372 // static |
| 373 Callable CodeFactory::ForInNext(Isolate* isolate) { |
| 374 return Callable(isolate->builtins()->ForInNext(), |
| 375 ForInNextDescriptor(isolate)); |
| 376 } |
| 377 |
| 378 // static |
| 367 Callable CodeFactory::AllocateHeapNumber(Isolate* isolate) { | 379 Callable CodeFactory::AllocateHeapNumber(Isolate* isolate) { |
| 368 AllocateHeapNumberStub stub(isolate); | 380 AllocateHeapNumberStub stub(isolate); |
| 369 return make_callable(stub); | 381 return make_callable(stub); |
| 370 } | 382 } |
| 371 | 383 |
| 372 #define SIMD128_ALLOC(TYPE, Type, type, lane_count, lane_type) \ | 384 #define SIMD128_ALLOC(TYPE, Type, type, lane_count, lane_type) \ |
| 373 Callable CodeFactory::Allocate##Type(Isolate* isolate) { \ | 385 Callable CodeFactory::Allocate##Type(Isolate* isolate) { \ |
| 374 Allocate##Type##Stub stub(isolate); \ | 386 Allocate##Type##Stub stub(isolate); \ |
| 375 return make_callable(stub); \ | 387 return make_callable(stub); \ |
| 376 } | 388 } |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 } | 493 } |
| 482 | 494 |
| 483 // static | 495 // static |
| 484 Callable CodeFactory::FunctionPrototypeBind(Isolate* isolate) { | 496 Callable CodeFactory::FunctionPrototypeBind(Isolate* isolate) { |
| 485 return Callable(isolate->builtins()->FunctionPrototypeBind(), | 497 return Callable(isolate->builtins()->FunctionPrototypeBind(), |
| 486 BuiltinDescriptor(isolate)); | 498 BuiltinDescriptor(isolate)); |
| 487 } | 499 } |
| 488 | 500 |
| 489 } // namespace internal | 501 } // namespace internal |
| 490 } // namespace v8 | 502 } // namespace v8 |
| OLD | NEW |