| Index: src/runtime.h | 
| diff --git a/src/runtime.h b/src/runtime.h | 
| index 62c52a7de061d5d0384ac44ac368054bcac86d91..42a3c05f234c5f2caf05dd8d922afbc1164fa121 100644 | 
| --- a/src/runtime.h | 
| +++ b/src/runtime.h | 
| @@ -190,6 +190,59 @@ namespace internal { | 
| F(Math_sqrt, 1, 1) \ | 
| F(Math_tan, 1, 1) \ | 
| \ | 
| +  /* Float32x4 and Int32x4 */ \ | 
| +  F(AllocateFloat32x4, 0, 1) \ | 
| +  F(AllocateInt32x4, 0, 1) \ | 
| +  \ | 
| +  /* SIMD */ \ | 
| +  F(SIMDAbs, 1, 1) \ | 
| +  F(SIMDNeg, 1, 1) \ | 
| +  F(SIMDAdd, 2, 1) \ | 
| +  F(SIMDSub, 2, 1) \ | 
| +  F(SIMDMul, 2, 1) \ | 
| +  F(SIMDDiv, 2, 1) \ | 
| +  F(SIMDClamp, 3, 1) \ | 
| +  F(SIMDMin, 2, 1) \ | 
| +  F(SIMDMax, 2, 1) \ | 
| +  F(SIMDReciprocal, 1, 1) \ | 
| +  F(SIMDReciprocalSqrt, 1, 1) \ | 
| +  F(SIMDScale, 2, 1) \ | 
| +  F(SIMDSqrt, 1, 1) \ | 
| +  F(SIMDShuffle, 2, 1) \ | 
| +  F(SIMDShuffleMix, 3, 1) \ | 
| +  F(SIMDWithX, 2, 1) \ | 
| +  F(SIMDWithY, 2, 1) \ | 
| +  F(SIMDWithZ, 2, 1) \ | 
| +  F(SIMDWithW, 2, 1) \ | 
| +  F(SIMDToFloat32x4, 1, 1) \ | 
| +  F(SIMDBitsToFloat32x4, 1, 1) \ | 
| +  F(SIMDToInt32x4, 1, 1) \ | 
| +  F(SIMDBitsToInt32x4, 1, 1) \ | 
| +  F(SIMDLessThan, 2, 1) \ | 
| +  F(SIMDLessThanOrEqual, 2, 1) \ | 
| +  F(SIMDEqual, 2, 1) \ | 
| +  F(SIMDNotEqual, 2, 1) \ | 
| +  F(SIMDGreaterThanOrEqual, 2, 1) \ | 
| +  F(SIMDGreaterThan, 2, 1) \ | 
| +  F(SIMDAnd, 2, 1) \ | 
| +  F(SIMDOr, 2, 1) \ | 
| +  F(SIMDXor, 2, 1) \ | 
| +  F(SIMDNot, 1, 1) \ | 
| +  F(SIMDNegu32, 1, 1) \ | 
| +  F(SIMDAddu32, 2, 1) \ | 
| +  F(SIMDSubu32, 2, 1) \ | 
| +  F(SIMDMulu32, 2, 1) \ | 
| +  F(SIMDSelect, 3, 1) \ | 
| +  F(SIMDShuffleu32, 2, 1) \ | 
| +  F(SIMDWithXu32, 2, 1) \ | 
| +  F(SIMDWithYu32, 2, 1) \ | 
| +  F(SIMDWithZu32, 2, 1) \ | 
| +  F(SIMDWithWu32, 2, 1) \ | 
| +  F(SIMDWithFlagX, 2, 1) \ | 
| +  F(SIMDWithFlagY, 2, 1) \ | 
| +  F(SIMDWithFlagZ, 2, 1) \ | 
| +  F(SIMDWithFlagW, 2, 1) \ | 
| +  \ | 
| /* Regular expressions */ \ | 
| F(RegExpCompile, 3, 1) \ | 
| F(RegExpExec, 4, 1) \ | 
| @@ -271,6 +324,24 @@ namespace internal { | 
| \ | 
| /* Numbers */ \ | 
| \ | 
| +  /* Float32x4 and Int32x4 */ \ | 
| +  F(CreateFloat32x4, 4, 1) \ | 
| +  F(Float32x4GetX, 1, 1) \ | 
| +  F(Float32x4GetY, 1, 1) \ | 
| +  F(Float32x4GetZ, 1, 1) \ | 
| +  F(Float32x4GetW, 1, 1) \ | 
| +  F(Float32x4GetSignMask, 1, 1) \ | 
| +  F(CreateInt32x4, 4, 1) \ | 
| +  F(Int32x4GetX, 1, 1) \ | 
| +  F(Int32x4GetY, 1, 1) \ | 
| +  F(Int32x4GetZ, 1, 1) \ | 
| +  F(Int32x4GetW, 1, 1) \ | 
| +  F(Int32x4GetFlagX, 1, 1) \ | 
| +  F(Int32x4GetFlagY, 1, 1) \ | 
| +  F(Int32x4GetFlagZ, 1, 1) \ | 
| +  F(Int32x4GetFlagW, 1, 1) \ | 
| +  F(Int32x4GetSignMask, 1, 1) \ | 
| +  \ | 
| /* Globals */ \ | 
| F(CompileString, 2, 1) \ | 
| F(GlobalPrint, 1, 1) \ | 
| @@ -470,6 +541,8 @@ namespace internal { | 
| F(HasExternalIntElements, 1, 1) \ | 
| F(HasExternalUnsignedIntElements, 1, 1) \ | 
| F(HasExternalFloatElements, 1, 1) \ | 
| +  F(HasExternalFloat32x4Elements, 1, 1) \ | 
| +  F(HasExternalInt32x4Elements, 1, 1) \ | 
| F(HasExternalDoubleElements, 1, 1) \ | 
| F(HasFastProperties, 1, 1) \ | 
| F(TransitionElementsKind, 2, 1) \ | 
| @@ -839,7 +912,9 @@ class Runtime : public AllStatic { | 
| ARRAY_ID_INT32 = 6, | 
| ARRAY_ID_FLOAT32 = 7, | 
| ARRAY_ID_FLOAT64 = 8, | 
| -    ARRAY_ID_UINT8C = 9 | 
| +    ARRAY_ID_UINT8C = 9, | 
| +    ARRAY_ID_FLOAT32x4 = 10, | 
| +    ARRAY_ID_INT32x4 = 11 | 
| }; | 
|  | 
| static void ArrayIdToTypeAndSize(int array_id, | 
|  |