| OLD | NEW | 
|    1 // Copyright 2015 the V8 project authors. All rights reserved. |    1 // Copyright 2015 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 (function(global, utils) { |    5 (function(global, utils) { | 
|    6  |    6  | 
|    7 "use strict"; |    7 "use strict"; | 
|    8  |    8  | 
|    9 %CheckIsBootstrapping(); |    9 %CheckIsBootstrapping(); | 
|   10  |   10  | 
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  155 SIMD_BOOL_TYPES(DECLARE_BOOL_FUNCTIONS) |  155 SIMD_BOOL_TYPES(DECLARE_BOOL_FUNCTIONS) | 
|  156  |  156  | 
|  157 macro SIMD_NUMERIC_TYPES(FUNCTION) |  157 macro SIMD_NUMERIC_TYPES(FUNCTION) | 
|  158 SIMD_FLOAT_TYPES(FUNCTION) |  158 SIMD_FLOAT_TYPES(FUNCTION) | 
|  159 SIMD_INT_TYPES(FUNCTION) |  159 SIMD_INT_TYPES(FUNCTION) | 
|  160 SIMD_UINT_TYPES(FUNCTION) |  160 SIMD_UINT_TYPES(FUNCTION) | 
|  161 endmacro |  161 endmacro | 
|  162  |  162  | 
|  163 macro DECLARE_NUMERIC_FUNCTIONS(NAME, TYPE, LANES) |  163 macro DECLARE_NUMERIC_FUNCTIONS(NAME, TYPE, LANES) | 
|  164 function NAMEReplaceLaneJS(instance, lane, value) { |  164 function NAMEReplaceLaneJS(instance, lane, value) { | 
|  165   return %NAMEReplaceLane(instance, lane, TO_NUMBER_INLINE(value)); |  165   return %NAMEReplaceLane(instance, lane, TO_NUMBER(value)); | 
|  166 } |  166 } | 
|  167  |  167  | 
|  168 function NAMESelectJS(selector, a, b) { |  168 function NAMESelectJS(selector, a, b) { | 
|  169   return %NAMESelect(selector, a, b); |  169   return %NAMESelect(selector, a, b); | 
|  170 } |  170 } | 
|  171  |  171  | 
|  172 function NAMEAddJS(a, b) { |  172 function NAMEAddJS(a, b) { | 
|  173   return %NAMEAdd(a, b); |  173   return %NAMEAdd(a, b); | 
|  174 } |  174 } | 
|  175  |  175  | 
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  419                             c11, c12, c13, c14, c15); |  419                             c11, c12, c13, c14, c15); | 
|  420 } |  420 } | 
|  421 endmacro |  421 endmacro | 
|  422  |  422  | 
|  423 SIMD_X16_TYPES(DECLARE_X16_FUNCTIONS) |  423 SIMD_X16_TYPES(DECLARE_X16_FUNCTIONS) | 
|  424  |  424  | 
|  425 //------------------------------------------------------------------- |  425 //------------------------------------------------------------------- | 
|  426  |  426  | 
|  427 function Float32x4Constructor(c0, c1, c2, c3) { |  427 function Float32x4Constructor(c0, c1, c2, c3) { | 
|  428   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Float32x4"); |  428   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Float32x4"); | 
|  429   return %CreateFloat32x4(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |  429   return %CreateFloat32x4(TO_NUMBER(c0), TO_NUMBER(c1), | 
|  430                           TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3)); |  430                           TO_NUMBER(c2), TO_NUMBER(c3)); | 
|  431 } |  431 } | 
|  432  |  432  | 
|  433  |  433  | 
|  434 function Int32x4Constructor(c0, c1, c2, c3) { |  434 function Int32x4Constructor(c0, c1, c2, c3) { | 
|  435   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int32x4"); |  435   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int32x4"); | 
|  436   return %CreateInt32x4(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |  436   return %CreateInt32x4(TO_NUMBER(c0), TO_NUMBER(c1), | 
|  437                         TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3)); |  437                         TO_NUMBER(c2), TO_NUMBER(c3)); | 
|  438 } |  438 } | 
|  439  |  439  | 
|  440  |  440  | 
|  441 function Uint32x4Constructor(c0, c1, c2, c3) { |  441 function Uint32x4Constructor(c0, c1, c2, c3) { | 
|  442   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint32x4"); |  442   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint32x4"); | 
|  443   return %CreateUint32x4(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |  443   return %CreateUint32x4(TO_NUMBER(c0), TO_NUMBER(c1), | 
|  444                          TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3)); |  444                          TO_NUMBER(c2), TO_NUMBER(c3)); | 
|  445 } |  445 } | 
|  446  |  446  | 
|  447  |  447  | 
|  448 function Bool32x4Constructor(c0, c1, c2, c3) { |  448 function Bool32x4Constructor(c0, c1, c2, c3) { | 
|  449   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool32x4"); |  449   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool32x4"); | 
|  450   return %CreateBool32x4(c0, c1, c2, c3); |  450   return %CreateBool32x4(c0, c1, c2, c3); | 
|  451 } |  451 } | 
|  452  |  452  | 
|  453  |  453  | 
|  454 function Int16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { |  454 function Int16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { | 
|  455   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int16x8"); |  455   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int16x8"); | 
|  456   return %CreateInt16x8(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |  456   return %CreateInt16x8(TO_NUMBER(c0), TO_NUMBER(c1), | 
|  457                         TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3), |  457                         TO_NUMBER(c2), TO_NUMBER(c3), | 
|  458                         TO_NUMBER_INLINE(c4), TO_NUMBER_INLINE(c5), |  458                         TO_NUMBER(c4), TO_NUMBER(c5), | 
|  459                         TO_NUMBER_INLINE(c6), TO_NUMBER_INLINE(c7)); |  459                         TO_NUMBER(c6), TO_NUMBER(c7)); | 
|  460 } |  460 } | 
|  461  |  461  | 
|  462  |  462  | 
|  463 function Uint16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { |  463 function Uint16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { | 
|  464   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint16x8"); |  464   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint16x8"); | 
|  465   return %CreateUint16x8(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |  465   return %CreateUint16x8(TO_NUMBER(c0), TO_NUMBER(c1), | 
|  466                          TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3), |  466                          TO_NUMBER(c2), TO_NUMBER(c3), | 
|  467                          TO_NUMBER_INLINE(c4), TO_NUMBER_INLINE(c5), |  467                          TO_NUMBER(c4), TO_NUMBER(c5), | 
|  468                          TO_NUMBER_INLINE(c6), TO_NUMBER_INLINE(c7)); |  468                          TO_NUMBER(c6), TO_NUMBER(c7)); | 
|  469 } |  469 } | 
|  470  |  470  | 
|  471  |  471  | 
|  472 function Bool16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { |  472 function Bool16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { | 
|  473   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool16x8"); |  473   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool16x8"); | 
|  474   return %CreateBool16x8(c0, c1, c2, c3, c4, c5, c6, c7); |  474   return %CreateBool16x8(c0, c1, c2, c3, c4, c5, c6, c7); | 
|  475 } |  475 } | 
|  476  |  476  | 
|  477  |  477  | 
|  478 function Int8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |  478 function Int8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | 
|  479                             c12, c13, c14, c15) { |  479                             c12, c13, c14, c15) { | 
|  480   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int8x16"); |  480   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int8x16"); | 
|  481   return %CreateInt8x16(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |  481   return %CreateInt8x16(TO_NUMBER(c0), TO_NUMBER(c1), | 
|  482                         TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3), |  482                         TO_NUMBER(c2), TO_NUMBER(c3), | 
|  483                         TO_NUMBER_INLINE(c4), TO_NUMBER_INLINE(c5), |  483                         TO_NUMBER(c4), TO_NUMBER(c5), | 
|  484                         TO_NUMBER_INLINE(c6), TO_NUMBER_INLINE(c7), |  484                         TO_NUMBER(c6), TO_NUMBER(c7), | 
|  485                         TO_NUMBER_INLINE(c8), TO_NUMBER_INLINE(c9), |  485                         TO_NUMBER(c8), TO_NUMBER(c9), | 
|  486                         TO_NUMBER_INLINE(c10), TO_NUMBER_INLINE(c11), |  486                         TO_NUMBER(c10), TO_NUMBER(c11), | 
|  487                         TO_NUMBER_INLINE(c12), TO_NUMBER_INLINE(c13), |  487                         TO_NUMBER(c12), TO_NUMBER(c13), | 
|  488                         TO_NUMBER_INLINE(c14), TO_NUMBER_INLINE(c15)); |  488                         TO_NUMBER(c14), TO_NUMBER(c15)); | 
|  489 } |  489 } | 
|  490  |  490  | 
|  491  |  491  | 
|  492 function Uint8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |  492 function Uint8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | 
|  493                              c12, c13, c14, c15) { |  493                              c12, c13, c14, c15) { | 
|  494   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint8x16"); |  494   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint8x16"); | 
|  495   return %CreateUint8x16(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |  495   return %CreateUint8x16(TO_NUMBER(c0), TO_NUMBER(c1), | 
|  496                          TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3), |  496                          TO_NUMBER(c2), TO_NUMBER(c3), | 
|  497                          TO_NUMBER_INLINE(c4), TO_NUMBER_INLINE(c5), |  497                          TO_NUMBER(c4), TO_NUMBER(c5), | 
|  498                          TO_NUMBER_INLINE(c6), TO_NUMBER_INLINE(c7), |  498                          TO_NUMBER(c6), TO_NUMBER(c7), | 
|  499                          TO_NUMBER_INLINE(c8), TO_NUMBER_INLINE(c9), |  499                          TO_NUMBER(c8), TO_NUMBER(c9), | 
|  500                          TO_NUMBER_INLINE(c10), TO_NUMBER_INLINE(c11), |  500                          TO_NUMBER(c10), TO_NUMBER(c11), | 
|  501                          TO_NUMBER_INLINE(c12), TO_NUMBER_INLINE(c13), |  501                          TO_NUMBER(c12), TO_NUMBER(c13), | 
|  502                          TO_NUMBER_INLINE(c14), TO_NUMBER_INLINE(c15)); |  502                          TO_NUMBER(c14), TO_NUMBER(c15)); | 
|  503 } |  503 } | 
|  504  |  504  | 
|  505  |  505  | 
|  506 function Bool8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |  506 function Bool8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | 
|  507                              c12, c13, c14, c15) { |  507                              c12, c13, c14, c15) { | 
|  508   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool8x16"); |  508   if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool8x16"); | 
|  509   return %CreateBool8x16(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, |  509   return %CreateBool8x16(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, | 
|  510                          c13, c14, c15); |  510                          c13, c14, c15); | 
|  511 } |  511 } | 
|  512  |  512  | 
| (...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  904   to.Bool32x4ToString = Bool32x4ToString; |  904   to.Bool32x4ToString = Bool32x4ToString; | 
|  905   to.Int16x8ToString = Int16x8ToString; |  905   to.Int16x8ToString = Int16x8ToString; | 
|  906   to.Uint16x8ToString = Uint16x8ToString; |  906   to.Uint16x8ToString = Uint16x8ToString; | 
|  907   to.Bool16x8ToString = Bool16x8ToString; |  907   to.Bool16x8ToString = Bool16x8ToString; | 
|  908   to.Int8x16ToString = Int8x16ToString; |  908   to.Int8x16ToString = Int8x16ToString; | 
|  909   to.Uint8x16ToString = Uint8x16ToString; |  909   to.Uint8x16ToString = Uint8x16ToString; | 
|  910   to.Bool8x16ToString = Bool8x16ToString; |  910   to.Bool8x16ToString = Bool8x16ToString; | 
|  911 }); |  911 }); | 
|  912  |  912  | 
|  913 }) |  913 }) | 
| OLD | NEW |