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 #ifndef V8_FACTORY_H_ | 5 #ifndef V8_FACTORY_H_ |
6 #define V8_FACTORY_H_ | 6 #define V8_FACTORY_H_ |
7 | 7 |
8 #include "src/feedback-vector.h" | 8 #include "src/feedback-vector.h" |
9 #include "src/globals.h" | 9 #include "src/globals.h" |
10 #include "src/isolate.h" | 10 #include "src/isolate.h" |
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 // Creates mutable heap number object with value field set to hole NaN. | 462 // Creates mutable heap number object with value field set to hole NaN. |
463 Handle<HeapNumber> NewMutableHeapNumber( | 463 Handle<HeapNumber> NewMutableHeapNumber( |
464 PretenureFlag pretenure = NOT_TENURED) { | 464 PretenureFlag pretenure = NOT_TENURED) { |
465 return NewHeapNumberFromBits(kHoleNanInt64, MUTABLE, pretenure); | 465 return NewHeapNumberFromBits(kHoleNanInt64, MUTABLE, pretenure); |
466 } | 466 } |
467 | 467 |
468 // Creates heap number object with not yet set value field. | 468 // Creates heap number object with not yet set value field. |
469 Handle<HeapNumber> NewHeapNumber(MutableMode mode, | 469 Handle<HeapNumber> NewHeapNumber(MutableMode mode, |
470 PretenureFlag pretenure = NOT_TENURED); | 470 PretenureFlag pretenure = NOT_TENURED); |
471 | 471 |
| 472 #define SIMD128_NEW_DECL(TYPE, Type, type, lane_count, lane_type) \ |
| 473 Handle<Type> New##Type(lane_type lanes[lane_count], \ |
| 474 PretenureFlag pretenure = NOT_TENURED); |
| 475 SIMD128_TYPES(SIMD128_NEW_DECL) |
| 476 #undef SIMD128_NEW_DECL |
| 477 |
472 Handle<JSWeakMap> NewJSWeakMap(); | 478 Handle<JSWeakMap> NewJSWeakMap(); |
473 | 479 |
474 Handle<JSObject> NewArgumentsObject(Handle<JSFunction> callee, int length); | 480 Handle<JSObject> NewArgumentsObject(Handle<JSFunction> callee, int length); |
475 | 481 |
476 // JS objects are pretenured when allocated by the bootstrapper and | 482 // JS objects are pretenured when allocated by the bootstrapper and |
477 // runtime. | 483 // runtime. |
478 Handle<JSObject> NewJSObject(Handle<JSFunction> constructor, | 484 Handle<JSObject> NewJSObject(Handle<JSFunction> constructor, |
479 PretenureFlag pretenure = NOT_TENURED); | 485 PretenureFlag pretenure = NOT_TENURED); |
480 // JSObject without a prototype. | 486 // JSObject without a prototype. |
481 Handle<JSObject> NewJSObjectWithNullProto( | 487 Handle<JSObject> NewJSObjectWithNullProto( |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
839 void SetStrictFunctionInstanceDescriptor(Handle<Map> map, | 845 void SetStrictFunctionInstanceDescriptor(Handle<Map> map, |
840 FunctionMode function_mode); | 846 FunctionMode function_mode); |
841 | 847 |
842 void SetClassFunctionInstanceDescriptor(Handle<Map> map); | 848 void SetClassFunctionInstanceDescriptor(Handle<Map> map); |
843 }; | 849 }; |
844 | 850 |
845 } // namespace internal | 851 } // namespace internal |
846 } // namespace v8 | 852 } // namespace v8 |
847 | 853 |
848 #endif // V8_FACTORY_H_ | 854 #endif // V8_FACTORY_H_ |
OLD | NEW |