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/isolate.h" | 8 #include "src/isolate.h" |
9 #include "src/messages.h" | 9 #include "src/messages.h" |
10 | 10 |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 PretenureFlag pretenure = NOT_TENURED) { | 344 PretenureFlag pretenure = NOT_TENURED) { |
345 if (Smi::IsValid(static_cast<intptr_t>(value))) { | 345 if (Smi::IsValid(static_cast<intptr_t>(value))) { |
346 return Handle<Object>(Smi::FromIntptr(static_cast<intptr_t>(value)), | 346 return Handle<Object>(Smi::FromIntptr(static_cast<intptr_t>(value)), |
347 isolate()); | 347 isolate()); |
348 } | 348 } |
349 return NewNumber(static_cast<double>(value), pretenure); | 349 return NewNumber(static_cast<double>(value), pretenure); |
350 } | 350 } |
351 Handle<HeapNumber> NewHeapNumber(double value, | 351 Handle<HeapNumber> NewHeapNumber(double value, |
352 MutableMode mode = IMMUTABLE, | 352 MutableMode mode = IMMUTABLE, |
353 PretenureFlag pretenure = NOT_TENURED); | 353 PretenureFlag pretenure = NOT_TENURED); |
354 Handle<Float32x4> NewFloat32x4(float w, float x, float y, float z, | 354 Handle<Float32x4> NewFloat32x4(float lanes[4], |
355 PretenureFlag pretenure = NOT_TENURED); | 355 PretenureFlag pretenure = NOT_TENURED); |
| 356 Handle<Int32x4> NewInt32x4(int32_t lanes[4], |
| 357 PretenureFlag pretenure = NOT_TENURED); |
| 358 Handle<Bool32x4> NewBool32x4(bool lanes[4], |
| 359 PretenureFlag pretenure = NOT_TENURED); |
| 360 Handle<Int16x8> NewInt16x8(int16_t lanes[8], |
| 361 PretenureFlag pretenure = NOT_TENURED); |
| 362 Handle<Bool16x8> NewBool16x8(bool lanes[8], |
| 363 PretenureFlag pretenure = NOT_TENURED); |
| 364 Handle<Int8x16> NewInt8x16(int8_t lanes[16], |
| 365 PretenureFlag pretenure = NOT_TENURED); |
| 366 Handle<Bool8x16> NewBool8x16(bool lanes[16], |
| 367 PretenureFlag pretenure = NOT_TENURED); |
356 | 368 |
357 // These objects are used by the api to create env-independent data | 369 // These objects are used by the api to create env-independent data |
358 // structures in the heap. | 370 // structures in the heap. |
359 inline Handle<JSObject> NewNeanderObject() { | 371 inline Handle<JSObject> NewNeanderObject() { |
360 return NewJSObjectFromMap(neander_map()); | 372 return NewJSObjectFromMap(neander_map()); |
361 } | 373 } |
362 | 374 |
363 Handle<JSWeakMap> NewJSWeakMap(); | 375 Handle<JSWeakMap> NewJSWeakMap(); |
364 | 376 |
365 Handle<JSObject> NewArgumentsObject(Handle<JSFunction> callee, int length); | 377 Handle<JSObject> NewArgumentsObject(Handle<JSFunction> callee, int length); |
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 // Reinitialize a JSProxy into an (empty) JS object of respective type and | 749 // Reinitialize a JSProxy into an (empty) JS object of respective type and |
738 // size, but keeping the original prototype. The receiver must have at least | 750 // size, but keeping the original prototype. The receiver must have at least |
739 // the size of the new object. The object is reinitialized and behaves as an | 751 // the size of the new object. The object is reinitialized and behaves as an |
740 // object that has been freshly allocated. | 752 // object that has been freshly allocated. |
741 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size); | 753 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size); |
742 }; | 754 }; |
743 | 755 |
744 } } // namespace v8::internal | 756 } } // namespace v8::internal |
745 | 757 |
746 #endif // V8_FACTORY_H_ | 758 #endif // V8_FACTORY_H_ |
OLD | NEW |