Index: src/factory.cc |
diff --git a/src/factory.cc b/src/factory.cc |
index 1d594d3eb5a6eda62470d908f7669c9b30028cbe..2fe18544395afe3529dd800545b0871236b27b28 100644 |
--- a/src/factory.cc |
+++ b/src/factory.cc |
@@ -1047,11 +1047,50 @@ Handle<HeapNumber> Factory::NewHeapNumber(double value, |
} |
-Handle<Float32x4> Factory::NewFloat32x4(float w, float x, float y, float z, |
+Handle<Float32x4> Factory::NewFloat32x4(float lanes[4], |
PretenureFlag pretenure) { |
+ CALL_HEAP_FUNCTION(isolate(), |
+ isolate()->heap()->AllocateFloat32x4(lanes, pretenure), |
+ Float32x4); |
+} |
+ |
+ |
+Handle<Int32x4> Factory::NewInt32x4(int32_t lanes[4], PretenureFlag pretenure) { |
+ CALL_HEAP_FUNCTION( |
+ isolate(), isolate()->heap()->AllocateInt32x4(lanes, pretenure), Int32x4); |
+} |
+ |
+ |
+Handle<Bool32x4> Factory::NewBool32x4(bool lanes[4], PretenureFlag pretenure) { |
+ CALL_HEAP_FUNCTION(isolate(), |
+ isolate()->heap()->AllocateBool32x4(lanes, pretenure), |
+ Bool32x4); |
+} |
+ |
+ |
+Handle<Int16x8> Factory::NewInt16x8(int16_t lanes[8], PretenureFlag pretenure) { |
CALL_HEAP_FUNCTION( |
- isolate(), isolate()->heap()->AllocateFloat32x4(w, x, y, z, pretenure), |
- Float32x4); |
+ isolate(), isolate()->heap()->AllocateInt16x8(lanes, pretenure), Int16x8); |
+} |
+ |
+ |
+Handle<Bool16x8> Factory::NewBool16x8(bool lanes[8], PretenureFlag pretenure) { |
+ CALL_HEAP_FUNCTION(isolate(), |
+ isolate()->heap()->AllocateBool16x8(lanes, pretenure), |
+ Bool16x8); |
+} |
+ |
+ |
+Handle<Int8x16> Factory::NewInt8x16(int8_t lanes[16], PretenureFlag pretenure) { |
+ CALL_HEAP_FUNCTION( |
+ isolate(), isolate()->heap()->AllocateInt8x16(lanes, pretenure), Int8x16); |
+} |
+ |
+ |
+Handle<Bool8x16> Factory::NewBool8x16(bool lanes[16], PretenureFlag pretenure) { |
+ CALL_HEAP_FUNCTION(isolate(), |
+ isolate()->heap()->AllocateBool8x16(lanes, pretenure), |
+ Bool8x16); |
} |