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 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 return %NAMEShuffle(a, b, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, | 426 return %NAMEShuffle(a, b, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, |
427 c11, c12, c13, c14, c15); | 427 c11, c12, c13, c14, c15); |
428 } | 428 } |
429 endmacro | 429 endmacro |
430 | 430 |
431 SIMD_X16_TYPES(DECLARE_X16_FUNCTIONS) | 431 SIMD_X16_TYPES(DECLARE_X16_FUNCTIONS) |
432 | 432 |
433 //------------------------------------------------------------------- | 433 //------------------------------------------------------------------- |
434 | 434 |
435 function Float32x4Constructor(c0, c1, c2, c3) { | 435 function Float32x4Constructor(c0, c1, c2, c3) { |
436 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Float32x4"); | 436 if (!IS_UNDEFINED(new.target)) { |
| 437 throw MakeTypeError(kNotConstructor, "Float32x4"); |
| 438 } |
437 return %CreateFloat32x4(TO_NUMBER(c0), TO_NUMBER(c1), | 439 return %CreateFloat32x4(TO_NUMBER(c0), TO_NUMBER(c1), |
438 TO_NUMBER(c2), TO_NUMBER(c3)); | 440 TO_NUMBER(c2), TO_NUMBER(c3)); |
439 } | 441 } |
440 | 442 |
441 | 443 |
442 function Int32x4Constructor(c0, c1, c2, c3) { | 444 function Int32x4Constructor(c0, c1, c2, c3) { |
443 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int32x4"); | 445 if (!IS_UNDEFINED(new.target)) { |
| 446 throw MakeTypeError(kNotConstructor, "Int32x4"); |
| 447 } |
444 return %CreateInt32x4(TO_NUMBER(c0), TO_NUMBER(c1), | 448 return %CreateInt32x4(TO_NUMBER(c0), TO_NUMBER(c1), |
445 TO_NUMBER(c2), TO_NUMBER(c3)); | 449 TO_NUMBER(c2), TO_NUMBER(c3)); |
446 } | 450 } |
447 | 451 |
448 | 452 |
449 function Uint32x4Constructor(c0, c1, c2, c3) { | 453 function Uint32x4Constructor(c0, c1, c2, c3) { |
450 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint32x4"); | 454 if (!IS_UNDEFINED(new.target)) { |
| 455 throw MakeTypeError(kNotConstructor, "Uint32x4"); |
| 456 } |
451 return %CreateUint32x4(TO_NUMBER(c0), TO_NUMBER(c1), | 457 return %CreateUint32x4(TO_NUMBER(c0), TO_NUMBER(c1), |
452 TO_NUMBER(c2), TO_NUMBER(c3)); | 458 TO_NUMBER(c2), TO_NUMBER(c3)); |
453 } | 459 } |
454 | 460 |
455 | 461 |
456 function Bool32x4Constructor(c0, c1, c2, c3) { | 462 function Bool32x4Constructor(c0, c1, c2, c3) { |
457 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool32x4"); | 463 if (!IS_UNDEFINED(new.target)) { |
| 464 throw MakeTypeError(kNotConstructor, "Bool32x4"); |
| 465 } |
458 return %CreateBool32x4(c0, c1, c2, c3); | 466 return %CreateBool32x4(c0, c1, c2, c3); |
459 } | 467 } |
460 | 468 |
461 | 469 |
462 function Int16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { | 470 function Int16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { |
463 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int16x8"); | 471 if (!IS_UNDEFINED(new.target)) { |
| 472 throw MakeTypeError(kNotConstructor, "Int16x8"); |
| 473 } |
464 return %CreateInt16x8(TO_NUMBER(c0), TO_NUMBER(c1), | 474 return %CreateInt16x8(TO_NUMBER(c0), TO_NUMBER(c1), |
465 TO_NUMBER(c2), TO_NUMBER(c3), | 475 TO_NUMBER(c2), TO_NUMBER(c3), |
466 TO_NUMBER(c4), TO_NUMBER(c5), | 476 TO_NUMBER(c4), TO_NUMBER(c5), |
467 TO_NUMBER(c6), TO_NUMBER(c7)); | 477 TO_NUMBER(c6), TO_NUMBER(c7)); |
468 } | 478 } |
469 | 479 |
470 | 480 |
471 function Uint16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { | 481 function Uint16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { |
472 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint16x8"); | 482 if (!IS_UNDEFINED(new.target)) { |
| 483 throw MakeTypeError(kNotConstructor, "Uint16x8"); |
| 484 } |
473 return %CreateUint16x8(TO_NUMBER(c0), TO_NUMBER(c1), | 485 return %CreateUint16x8(TO_NUMBER(c0), TO_NUMBER(c1), |
474 TO_NUMBER(c2), TO_NUMBER(c3), | 486 TO_NUMBER(c2), TO_NUMBER(c3), |
475 TO_NUMBER(c4), TO_NUMBER(c5), | 487 TO_NUMBER(c4), TO_NUMBER(c5), |
476 TO_NUMBER(c6), TO_NUMBER(c7)); | 488 TO_NUMBER(c6), TO_NUMBER(c7)); |
477 } | 489 } |
478 | 490 |
479 | 491 |
480 function Bool16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { | 492 function Bool16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { |
481 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool16x8"); | 493 if (!IS_UNDEFINED(new.target)) { |
| 494 throw MakeTypeError(kNotConstructor, "Bool16x8"); |
| 495 } |
482 return %CreateBool16x8(c0, c1, c2, c3, c4, c5, c6, c7); | 496 return %CreateBool16x8(c0, c1, c2, c3, c4, c5, c6, c7); |
483 } | 497 } |
484 | 498 |
485 | 499 |
486 function Int8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | 500 function Int8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |
487 c12, c13, c14, c15) { | 501 c12, c13, c14, c15) { |
488 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int8x16"); | 502 if (!IS_UNDEFINED(new.target)) { |
| 503 throw MakeTypeError(kNotConstructor, "Int8x16"); |
| 504 } |
489 return %CreateInt8x16(TO_NUMBER(c0), TO_NUMBER(c1), | 505 return %CreateInt8x16(TO_NUMBER(c0), TO_NUMBER(c1), |
490 TO_NUMBER(c2), TO_NUMBER(c3), | 506 TO_NUMBER(c2), TO_NUMBER(c3), |
491 TO_NUMBER(c4), TO_NUMBER(c5), | 507 TO_NUMBER(c4), TO_NUMBER(c5), |
492 TO_NUMBER(c6), TO_NUMBER(c7), | 508 TO_NUMBER(c6), TO_NUMBER(c7), |
493 TO_NUMBER(c8), TO_NUMBER(c9), | 509 TO_NUMBER(c8), TO_NUMBER(c9), |
494 TO_NUMBER(c10), TO_NUMBER(c11), | 510 TO_NUMBER(c10), TO_NUMBER(c11), |
495 TO_NUMBER(c12), TO_NUMBER(c13), | 511 TO_NUMBER(c12), TO_NUMBER(c13), |
496 TO_NUMBER(c14), TO_NUMBER(c15)); | 512 TO_NUMBER(c14), TO_NUMBER(c15)); |
497 } | 513 } |
498 | 514 |
499 | 515 |
500 function Uint8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | 516 function Uint8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |
501 c12, c13, c14, c15) { | 517 c12, c13, c14, c15) { |
502 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint8x16"); | 518 if (!IS_UNDEFINED(new.target)) { |
| 519 throw MakeTypeError(kNotConstructor, "Uint8x16"); |
| 520 } |
503 return %CreateUint8x16(TO_NUMBER(c0), TO_NUMBER(c1), | 521 return %CreateUint8x16(TO_NUMBER(c0), TO_NUMBER(c1), |
504 TO_NUMBER(c2), TO_NUMBER(c3), | 522 TO_NUMBER(c2), TO_NUMBER(c3), |
505 TO_NUMBER(c4), TO_NUMBER(c5), | 523 TO_NUMBER(c4), TO_NUMBER(c5), |
506 TO_NUMBER(c6), TO_NUMBER(c7), | 524 TO_NUMBER(c6), TO_NUMBER(c7), |
507 TO_NUMBER(c8), TO_NUMBER(c9), | 525 TO_NUMBER(c8), TO_NUMBER(c9), |
508 TO_NUMBER(c10), TO_NUMBER(c11), | 526 TO_NUMBER(c10), TO_NUMBER(c11), |
509 TO_NUMBER(c12), TO_NUMBER(c13), | 527 TO_NUMBER(c12), TO_NUMBER(c13), |
510 TO_NUMBER(c14), TO_NUMBER(c15)); | 528 TO_NUMBER(c14), TO_NUMBER(c15)); |
511 } | 529 } |
512 | 530 |
513 | 531 |
514 function Bool8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | 532 function Bool8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |
515 c12, c13, c14, c15) { | 533 c12, c13, c14, c15) { |
516 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool8x16"); | 534 if (!IS_UNDEFINED(new.target)) { |
| 535 throw MakeTypeError(kNotConstructor, "Bool8x16"); |
| 536 } |
517 return %CreateBool8x16(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, | 537 return %CreateBool8x16(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, |
518 c13, c14, c15); | 538 c13, c14, c15); |
519 } | 539 } |
520 | 540 |
521 | 541 |
522 function Float32x4AbsJS(a) { | 542 function Float32x4AbsJS(a) { |
523 return %Float32x4Abs(a); | 543 return %Float32x4Abs(a); |
524 } | 544 } |
525 | 545 |
526 | 546 |
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
912 to.Bool32x4ToString = Bool32x4ToString; | 932 to.Bool32x4ToString = Bool32x4ToString; |
913 to.Int16x8ToString = Int16x8ToString; | 933 to.Int16x8ToString = Int16x8ToString; |
914 to.Uint16x8ToString = Uint16x8ToString; | 934 to.Uint16x8ToString = Uint16x8ToString; |
915 to.Bool16x8ToString = Bool16x8ToString; | 935 to.Bool16x8ToString = Bool16x8ToString; |
916 to.Int8x16ToString = Int8x16ToString; | 936 to.Int8x16ToString = Int8x16ToString; |
917 to.Uint8x16ToString = Uint8x16ToString; | 937 to.Uint8x16ToString = Uint8x16ToString; |
918 to.Bool8x16ToString = Bool8x16ToString; | 938 to.Bool8x16ToString = Bool8x16ToString; |
919 }); | 939 }); |
920 | 940 |
921 }) | 941 }) |
OLD | NEW |