| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_RUNTIME_RUNTIME_H_ | 5 #ifndef V8_RUNTIME_RUNTIME_H_ |
| 6 #define V8_RUNTIME_RUNTIME_H_ | 6 #define V8_RUNTIME_RUNTIME_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/base/platform/time.h" |
| 9 #include "src/objects.h" | 10 #include "src/objects.h" |
| 10 #include "src/unicode.h" | 11 #include "src/unicode.h" |
| 11 #include "src/zone.h" | 12 #include "src/zone.h" |
| 12 | 13 |
| 13 namespace v8 { | 14 namespace v8 { |
| 14 namespace internal { | 15 namespace internal { |
| 15 | 16 |
| 16 // * Each intrinsic is consistently exposed in JavaScript via 2 names: | 17 // * Each intrinsic is consistently exposed in JavaScript via 2 names: |
| 17 // * %#name, which is always a runtime call. | 18 // * %#name, which is always a runtime call. |
| 18 // * %_#name, which can be inlined or just a runtime call, the compiler in | 19 // * %_#name, which can be inlined or just a runtime call, the compiler in |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 F(CallSiteIsNativeRT, 1, 1) \ | 330 F(CallSiteIsNativeRT, 1, 1) \ |
| 330 F(CallSiteIsToplevelRT, 1, 1) \ | 331 F(CallSiteIsToplevelRT, 1, 1) \ |
| 331 F(CallSiteIsEvalRT, 1, 1) \ | 332 F(CallSiteIsEvalRT, 1, 1) \ |
| 332 F(CallSiteIsConstructorRT, 1, 1) \ | 333 F(CallSiteIsConstructorRT, 1, 1) \ |
| 333 F(IS_VAR, 1, 1) \ | 334 F(IS_VAR, 1, 1) \ |
| 334 F(IncrementStatsCounter, 1, 1) \ | 335 F(IncrementStatsCounter, 1, 1) \ |
| 335 F(ThrowConstructedNonConstructable, 1, 1) \ | 336 F(ThrowConstructedNonConstructable, 1, 1) \ |
| 336 F(ThrowDerivedConstructorReturnedNonObject, 0, 1) \ | 337 F(ThrowDerivedConstructorReturnedNonObject, 0, 1) \ |
| 337 F(ThrowCalledNonCallable, 1, 1) \ | 338 F(ThrowCalledNonCallable, 1, 1) \ |
| 338 F(CreateListFromArrayLike, 1, 1) \ | 339 F(CreateListFromArrayLike, 1, 1) \ |
| 339 F(IncrementUseCounter, 1, 1) | 340 F(IncrementUseCounter, 1, 1) \ |
| 341 F(GetAndResetRuntimeCallStats, 0, 1) |
| 340 | 342 |
| 341 | 343 |
| 342 #define FOR_EACH_INTRINSIC_JSON(F) \ | 344 #define FOR_EACH_INTRINSIC_JSON(F) \ |
| 343 F(QuoteJSONString, 1, 1) \ | 345 F(QuoteJSONString, 1, 1) \ |
| 344 F(BasicJSONStringify, 1, 1) \ | 346 F(BasicJSONStringify, 1, 1) \ |
| 345 F(ParseJson, 1, 1) | 347 F(ParseJson, 1, 1) |
| 346 | 348 |
| 347 | 349 |
| 348 #define FOR_EACH_INTRINSIC_LITERALS(F) \ | 350 #define FOR_EACH_INTRINSIC_LITERALS(F) \ |
| 349 F(CreateRegExpLiteral, 4, 1) \ | 351 F(CreateRegExpLiteral, 4, 1) \ |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 560 F(PushBlockContext, 2, 1) \ | 562 F(PushBlockContext, 2, 1) \ |
| 561 F(IsJSModule, 1, 1) \ | 563 F(IsJSModule, 1, 1) \ |
| 562 F(PushModuleContext, 2, 1) \ | 564 F(PushModuleContext, 2, 1) \ |
| 563 F(DeclareModules, 1, 1) \ | 565 F(DeclareModules, 1, 1) \ |
| 564 F(DeleteLookupSlot, 2, 1) \ | 566 F(DeleteLookupSlot, 2, 1) \ |
| 565 F(StoreLookupSlot, 4, 1) \ | 567 F(StoreLookupSlot, 4, 1) \ |
| 566 F(ArgumentsLength, 0, 1) \ | 568 F(ArgumentsLength, 0, 1) \ |
| 567 F(Arguments, 1, 1) | 569 F(Arguments, 1, 1) |
| 568 | 570 |
| 569 | 571 |
| 570 #define FOR_EACH_INTRINSIC_SIMD(F) \ | 572 #define FOR_EACH_INTRINSIC_SIMD(F) \ |
| 571 F(IsSimdValue, 1, 1) \ | 573 F(IsSimdValue, 1, 1) \ |
| 572 F(SimdSameValue, 2, 1) \ | 574 F(SimdSameValue, 2, 1) \ |
| 573 F(SimdSameValueZero, 2, 1) \ | 575 F(SimdSameValueZero, 2, 1) \ |
| 574 F(CreateFloat32x4, 4, 1) \ | 576 F(CreateFloat32x4, 4, 1) \ |
| 575 F(CreateInt32x4, 4, 1) \ | 577 F(CreateInt32x4, 4, 1) \ |
| 576 F(CreateUint32x4, 4, 1) \ | 578 F(CreateUint32x4, 4, 1) \ |
| 577 F(CreateBool32x4, 4, 1) \ | 579 F(CreateBool32x4, 4, 1) \ |
| 578 F(CreateInt16x8, 8, 1) \ | 580 F(CreateInt16x8, 8, 1) \ |
| 579 F(CreateUint16x8, 8, 1) \ | 581 F(CreateUint16x8, 8, 1) \ |
| 580 F(CreateBool16x8, 8, 1) \ | 582 F(CreateBool16x8, 8, 1) \ |
| 581 F(CreateInt8x16, 16, 1) \ | 583 F(CreateInt8x16, 16, 1) \ |
| 582 F(CreateUint8x16, 16, 1) \ | 584 F(CreateUint8x16, 16, 1) \ |
| 583 F(CreateBool8x16, 16, 1) \ | 585 F(CreateBool8x16, 16, 1) \ |
| 584 F(Float32x4Check, 1, 1) \ | 586 F(Float32x4Check, 1, 1) \ |
| 585 F(Float32x4ExtractLane, 2, 1) \ | 587 F(Float32x4ExtractLane, 2, 1) \ |
| 586 F(Float32x4ReplaceLane, 3, 1) \ | 588 F(Float32x4ReplaceLane, 3, 1) \ |
| 587 F(Float32x4Abs, 1, 1) \ | 589 F(Float32x4Abs, 1, 1) \ |
| 588 F(Float32x4Neg, 1, 1) \ | 590 F(Float32x4Neg, 1, 1) \ |
| 589 F(Float32x4Sqrt, 1, 1) \ | 591 F(Float32x4Sqrt, 1, 1) \ |
| 590 F(Float32x4RecipApprox, 1, 1) \ | 592 F(Float32x4RecipApprox, 1, 1) \ |
| 591 F(Float32x4RecipSqrtApprox, 1, 1) \ | 593 F(Float32x4RecipSqrtApprox, 1, 1) \ |
| 592 F(Float32x4Add, 2, 1) \ | 594 F(Float32x4Add, 2, 1) \ |
| 593 F(Float32x4Sub, 2, 1) \ | 595 F(Float32x4Sub, 2, 1) \ |
| 594 F(Float32x4Mul, 2, 1) \ | 596 F(Float32x4Mul, 2, 1) \ |
| 595 F(Float32x4Div, 2, 1) \ | 597 F(Float32x4Div, 2, 1) \ |
| 596 F(Float32x4Min, 2, 1) \ | 598 F(Float32x4Min, 2, 1) \ |
| 597 F(Float32x4Max, 2, 1) \ | 599 F(Float32x4Max, 2, 1) \ |
| 598 F(Float32x4MinNum, 2, 1) \ | 600 F(Float32x4MinNum, 2, 1) \ |
| 599 F(Float32x4MaxNum, 2, 1) \ | 601 F(Float32x4MaxNum, 2, 1) \ |
| 600 F(Float32x4Equal, 2, 1) \ | 602 F(Float32x4Equal, 2, 1) \ |
| 601 F(Float32x4NotEqual, 2, 1) \ | 603 F(Float32x4NotEqual, 2, 1) \ |
| 602 F(Float32x4LessThan, 2, 1) \ | 604 F(Float32x4LessThan, 2, 1) \ |
| 603 F(Float32x4LessThanOrEqual, 2, 1) \ | 605 F(Float32x4LessThanOrEqual, 2, 1) \ |
| 604 F(Float32x4GreaterThan, 2, 1) \ | 606 F(Float32x4GreaterThan, 2, 1) \ |
| 605 F(Float32x4GreaterThanOrEqual, 2, 1) \ | 607 F(Float32x4GreaterThanOrEqual, 2, 1) \ |
| 606 F(Float32x4Select, 3, 1) \ | 608 F(Float32x4Select, 3, 1) \ |
| 607 F(Float32x4Swizzle, 5, 1) \ | 609 F(Float32x4Swizzle, 5, 1) \ |
| 608 F(Float32x4Shuffle, 6, 1) \ | 610 F(Float32x4Shuffle, 6, 1) \ |
| 609 F(Float32x4FromInt32x4, 1, 1) \ | 611 F(Float32x4FromInt32x4, 1, 1) \ |
| 610 F(Float32x4FromUint32x4, 1, 1) \ | 612 F(Float32x4FromUint32x4, 1, 1) \ |
| 611 F(Float32x4FromInt32x4Bits, 1, 1) \ | 613 F(Float32x4FromInt32x4Bits, 1, 1) \ |
| 612 F(Float32x4FromUint32x4Bits, 1, 1) \ | 614 F(Float32x4FromUint32x4Bits, 1, 1) \ |
| 613 F(Float32x4FromInt16x8Bits, 1, 1) \ | 615 F(Float32x4FromInt16x8Bits, 1, 1) \ |
| 614 F(Float32x4FromUint16x8Bits, 1, 1) \ | 616 F(Float32x4FromUint16x8Bits, 1, 1) \ |
| 615 F(Float32x4FromInt8x16Bits, 1, 1) \ | 617 F(Float32x4FromInt8x16Bits, 1, 1) \ |
| 616 F(Float32x4FromUint8x16Bits, 1, 1) \ | 618 F(Float32x4FromUint8x16Bits, 1, 1) \ |
| 617 F(Float32x4Load, 2, 1) \ | 619 F(Float32x4Load, 2, 1) \ |
| 618 F(Float32x4Load1, 2, 1) \ | 620 F(Float32x4Load1, 2, 1) \ |
| 619 F(Float32x4Load2, 2, 1) \ | 621 F(Float32x4Load2, 2, 1) \ |
| 620 F(Float32x4Load3, 2, 1) \ | 622 F(Float32x4Load3, 2, 1) \ |
| 621 F(Float32x4Store, 3, 1) \ | 623 F(Float32x4Store, 3, 1) \ |
| 622 F(Float32x4Store1, 3, 1) \ | 624 F(Float32x4Store1, 3, 1) \ |
| 623 F(Float32x4Store2, 3, 1) \ | 625 F(Float32x4Store2, 3, 1) \ |
| 624 F(Float32x4Store3, 3, 1) \ | 626 F(Float32x4Store3, 3, 1) \ |
| 625 F(Int32x4Check, 1, 1) \ | 627 F(Int32x4Check, 1, 1) \ |
| 626 F(Int32x4ExtractLane, 2, 1) \ | 628 F(Int32x4ExtractLane, 2, 1) \ |
| 627 F(Int32x4ReplaceLane, 3, 1) \ | 629 F(Int32x4ReplaceLane, 3, 1) \ |
| 628 F(Int32x4Neg, 1, 1) \ | 630 F(Int32x4Neg, 1, 1) \ |
| 629 F(Int32x4Add, 2, 1) \ | 631 F(Int32x4Add, 2, 1) \ |
| 630 F(Int32x4Sub, 2, 1) \ | 632 F(Int32x4Sub, 2, 1) \ |
| 631 F(Int32x4Mul, 2, 1) \ | 633 F(Int32x4Mul, 2, 1) \ |
| 632 F(Int32x4Min, 2, 1) \ | 634 F(Int32x4Min, 2, 1) \ |
| 633 F(Int32x4Max, 2, 1) \ | 635 F(Int32x4Max, 2, 1) \ |
| 634 F(Int32x4And, 2, 1) \ | 636 F(Int32x4And, 2, 1) \ |
| 635 F(Int32x4Or, 2, 1) \ | 637 F(Int32x4Or, 2, 1) \ |
| 636 F(Int32x4Xor, 2, 1) \ | 638 F(Int32x4Xor, 2, 1) \ |
| 637 F(Int32x4Not, 1, 1) \ | 639 F(Int32x4Not, 1, 1) \ |
| 638 F(Int32x4ShiftLeftByScalar, 2, 1) \ | 640 F(Int32x4ShiftLeftByScalar, 2, 1) \ |
| 639 F(Int32x4ShiftRightByScalar, 2, 1) \ | 641 F(Int32x4ShiftRightByScalar, 2, 1) \ |
| 640 F(Int32x4Equal, 2, 1) \ | 642 F(Int32x4Equal, 2, 1) \ |
| 641 F(Int32x4NotEqual, 2, 1) \ | 643 F(Int32x4NotEqual, 2, 1) \ |
| 642 F(Int32x4LessThan, 2, 1) \ | 644 F(Int32x4LessThan, 2, 1) \ |
| 643 F(Int32x4LessThanOrEqual, 2, 1) \ | 645 F(Int32x4LessThanOrEqual, 2, 1) \ |
| 644 F(Int32x4GreaterThan, 2, 1) \ | 646 F(Int32x4GreaterThan, 2, 1) \ |
| 645 F(Int32x4GreaterThanOrEqual, 2, 1) \ | 647 F(Int32x4GreaterThanOrEqual, 2, 1) \ |
| 646 F(Int32x4Select, 3, 1) \ | 648 F(Int32x4Select, 3, 1) \ |
| 647 F(Int32x4Swizzle, 5, 1) \ | 649 F(Int32x4Swizzle, 5, 1) \ |
| 648 F(Int32x4Shuffle, 6, 1) \ | 650 F(Int32x4Shuffle, 6, 1) \ |
| 649 F(Int32x4FromFloat32x4, 1, 1) \ | 651 F(Int32x4FromFloat32x4, 1, 1) \ |
| 650 F(Int32x4FromUint32x4, 1, 1) \ | 652 F(Int32x4FromUint32x4, 1, 1) \ |
| 651 F(Int32x4FromFloat32x4Bits, 1, 1) \ | 653 F(Int32x4FromFloat32x4Bits, 1, 1) \ |
| 652 F(Int32x4FromUint32x4Bits, 1, 1) \ | 654 F(Int32x4FromUint32x4Bits, 1, 1) \ |
| 653 F(Int32x4FromInt16x8Bits, 1, 1) \ | 655 F(Int32x4FromInt16x8Bits, 1, 1) \ |
| 654 F(Int32x4FromUint16x8Bits, 1, 1) \ | 656 F(Int32x4FromUint16x8Bits, 1, 1) \ |
| 655 F(Int32x4FromInt8x16Bits, 1, 1) \ | 657 F(Int32x4FromInt8x16Bits, 1, 1) \ |
| 656 F(Int32x4FromUint8x16Bits, 1, 1) \ | 658 F(Int32x4FromUint8x16Bits, 1, 1) \ |
| 657 F(Int32x4Load, 2, 1) \ | 659 F(Int32x4Load, 2, 1) \ |
| 658 F(Int32x4Load1, 2, 1) \ | 660 F(Int32x4Load1, 2, 1) \ |
| 659 F(Int32x4Load2, 2, 1) \ | 661 F(Int32x4Load2, 2, 1) \ |
| 660 F(Int32x4Load3, 2, 1) \ | 662 F(Int32x4Load3, 2, 1) \ |
| 661 F(Int32x4Store, 3, 1) \ | 663 F(Int32x4Store, 3, 1) \ |
| 662 F(Int32x4Store1, 3, 1) \ | 664 F(Int32x4Store1, 3, 1) \ |
| 663 F(Int32x4Store2, 3, 1) \ | 665 F(Int32x4Store2, 3, 1) \ |
| 664 F(Int32x4Store3, 3, 1) \ | 666 F(Int32x4Store3, 3, 1) \ |
| 665 F(Uint32x4Check, 1, 1) \ | 667 F(Uint32x4Check, 1, 1) \ |
| 666 F(Uint32x4ExtractLane, 2, 1) \ | 668 F(Uint32x4ExtractLane, 2, 1) \ |
| 667 F(Uint32x4ReplaceLane, 3, 1) \ | 669 F(Uint32x4ReplaceLane, 3, 1) \ |
| 668 F(Uint32x4Add, 2, 1) \ | 670 F(Uint32x4Add, 2, 1) \ |
| 669 F(Uint32x4Sub, 2, 1) \ | 671 F(Uint32x4Sub, 2, 1) \ |
| 670 F(Uint32x4Mul, 2, 1) \ | 672 F(Uint32x4Mul, 2, 1) \ |
| 671 F(Uint32x4Min, 2, 1) \ | 673 F(Uint32x4Min, 2, 1) \ |
| 672 F(Uint32x4Max, 2, 1) \ | 674 F(Uint32x4Max, 2, 1) \ |
| 673 F(Uint32x4And, 2, 1) \ | 675 F(Uint32x4And, 2, 1) \ |
| 674 F(Uint32x4Or, 2, 1) \ | 676 F(Uint32x4Or, 2, 1) \ |
| 675 F(Uint32x4Xor, 2, 1) \ | 677 F(Uint32x4Xor, 2, 1) \ |
| 676 F(Uint32x4Not, 1, 1) \ | 678 F(Uint32x4Not, 1, 1) \ |
| 677 F(Uint32x4ShiftLeftByScalar, 2, 1) \ | 679 F(Uint32x4ShiftLeftByScalar, 2, 1) \ |
| 678 F(Uint32x4ShiftRightByScalar, 2, 1) \ | 680 F(Uint32x4ShiftRightByScalar, 2, 1) \ |
| 679 F(Uint32x4Equal, 2, 1) \ | 681 F(Uint32x4Equal, 2, 1) \ |
| 680 F(Uint32x4NotEqual, 2, 1) \ | 682 F(Uint32x4NotEqual, 2, 1) \ |
| 681 F(Uint32x4LessThan, 2, 1) \ | 683 F(Uint32x4LessThan, 2, 1) \ |
| 682 F(Uint32x4LessThanOrEqual, 2, 1) \ | 684 F(Uint32x4LessThanOrEqual, 2, 1) \ |
| 683 F(Uint32x4GreaterThan, 2, 1) \ | 685 F(Uint32x4GreaterThan, 2, 1) \ |
| 684 F(Uint32x4GreaterThanOrEqual, 2, 1) \ | 686 F(Uint32x4GreaterThanOrEqual, 2, 1) \ |
| 685 F(Uint32x4Select, 3, 1) \ | 687 F(Uint32x4Select, 3, 1) \ |
| 686 F(Uint32x4Swizzle, 5, 1) \ | 688 F(Uint32x4Swizzle, 5, 1) \ |
| 687 F(Uint32x4Shuffle, 6, 1) \ | 689 F(Uint32x4Shuffle, 6, 1) \ |
| 688 F(Uint32x4FromFloat32x4, 1, 1) \ | 690 F(Uint32x4FromFloat32x4, 1, 1) \ |
| 689 F(Uint32x4FromInt32x4, 1, 1) \ | 691 F(Uint32x4FromInt32x4, 1, 1) \ |
| 690 F(Uint32x4FromFloat32x4Bits, 1, 1) \ | 692 F(Uint32x4FromFloat32x4Bits, 1, 1) \ |
| 691 F(Uint32x4FromInt32x4Bits, 1, 1) \ | 693 F(Uint32x4FromInt32x4Bits, 1, 1) \ |
| 692 F(Uint32x4FromInt16x8Bits, 1, 1) \ | 694 F(Uint32x4FromInt16x8Bits, 1, 1) \ |
| 693 F(Uint32x4FromUint16x8Bits, 1, 1) \ | 695 F(Uint32x4FromUint16x8Bits, 1, 1) \ |
| 694 F(Uint32x4FromInt8x16Bits, 1, 1) \ | 696 F(Uint32x4FromInt8x16Bits, 1, 1) \ |
| 695 F(Uint32x4FromUint8x16Bits, 1, 1) \ | 697 F(Uint32x4FromUint8x16Bits, 1, 1) \ |
| 696 F(Uint32x4Load, 2, 1) \ | 698 F(Uint32x4Load, 2, 1) \ |
| 697 F(Uint32x4Load1, 2, 1) \ | 699 F(Uint32x4Load1, 2, 1) \ |
| 698 F(Uint32x4Load2, 2, 1) \ | 700 F(Uint32x4Load2, 2, 1) \ |
| 699 F(Uint32x4Load3, 2, 1) \ | 701 F(Uint32x4Load3, 2, 1) \ |
| 700 F(Uint32x4Store, 3, 1) \ | 702 F(Uint32x4Store, 3, 1) \ |
| 701 F(Uint32x4Store1, 3, 1) \ | 703 F(Uint32x4Store1, 3, 1) \ |
| 702 F(Uint32x4Store2, 3, 1) \ | 704 F(Uint32x4Store2, 3, 1) \ |
| 703 F(Uint32x4Store3, 3, 1) \ | 705 F(Uint32x4Store3, 3, 1) \ |
| 704 F(Bool32x4Check, 1, 1) \ | 706 F(Bool32x4Check, 1, 1) \ |
| 705 F(Bool32x4ExtractLane, 2, 1) \ | 707 F(Bool32x4ExtractLane, 2, 1) \ |
| 706 F(Bool32x4ReplaceLane, 3, 1) \ | 708 F(Bool32x4ReplaceLane, 3, 1) \ |
| 707 F(Bool32x4And, 2, 1) \ | 709 F(Bool32x4And, 2, 1) \ |
| 708 F(Bool32x4Or, 2, 1) \ | 710 F(Bool32x4Or, 2, 1) \ |
| 709 F(Bool32x4Xor, 2, 1) \ | 711 F(Bool32x4Xor, 2, 1) \ |
| 710 F(Bool32x4Not, 1, 1) \ | 712 F(Bool32x4Not, 1, 1) \ |
| 711 F(Bool32x4AnyTrue, 1, 1) \ | 713 F(Bool32x4AnyTrue, 1, 1) \ |
| 712 F(Bool32x4AllTrue, 1, 1) \ | 714 F(Bool32x4AllTrue, 1, 1) \ |
| 713 F(Bool32x4Swizzle, 5, 1) \ | 715 F(Bool32x4Swizzle, 5, 1) \ |
| 714 F(Bool32x4Shuffle, 6, 1) \ | 716 F(Bool32x4Shuffle, 6, 1) \ |
| 715 F(Int16x8Check, 1, 1) \ | 717 F(Bool32x4Equal, 2, 1) \ |
| 716 F(Int16x8ExtractLane, 2, 1) \ | 718 F(Bool32x4NotEqual, 2, 1) \ |
| 717 F(Int16x8ReplaceLane, 3, 1) \ | 719 F(Int16x8Check, 1, 1) \ |
| 718 F(Int16x8Neg, 1, 1) \ | 720 F(Int16x8ExtractLane, 2, 1) \ |
| 719 F(Int16x8Add, 2, 1) \ | 721 F(Int16x8ReplaceLane, 3, 1) \ |
| 720 F(Int16x8AddSaturate, 2, 1) \ | 722 F(Int16x8Neg, 1, 1) \ |
| 721 F(Int16x8Sub, 2, 1) \ | 723 F(Int16x8Add, 2, 1) \ |
| 722 F(Int16x8SubSaturate, 2, 1) \ | 724 F(Int16x8AddSaturate, 2, 1) \ |
| 723 F(Int16x8Mul, 2, 1) \ | 725 F(Int16x8Sub, 2, 1) \ |
| 724 F(Int16x8Min, 2, 1) \ | 726 F(Int16x8SubSaturate, 2, 1) \ |
| 725 F(Int16x8Max, 2, 1) \ | 727 F(Int16x8Mul, 2, 1) \ |
| 726 F(Int16x8And, 2, 1) \ | 728 F(Int16x8Min, 2, 1) \ |
| 727 F(Int16x8Or, 2, 1) \ | 729 F(Int16x8Max, 2, 1) \ |
| 728 F(Int16x8Xor, 2, 1) \ | 730 F(Int16x8And, 2, 1) \ |
| 729 F(Int16x8Not, 1, 1) \ | 731 F(Int16x8Or, 2, 1) \ |
| 730 F(Int16x8ShiftLeftByScalar, 2, 1) \ | 732 F(Int16x8Xor, 2, 1) \ |
| 731 F(Int16x8ShiftRightByScalar, 2, 1) \ | 733 F(Int16x8Not, 1, 1) \ |
| 732 F(Int16x8Equal, 2, 1) \ | 734 F(Int16x8ShiftLeftByScalar, 2, 1) \ |
| 733 F(Int16x8NotEqual, 2, 1) \ | 735 F(Int16x8ShiftRightByScalar, 2, 1) \ |
| 734 F(Int16x8LessThan, 2, 1) \ | 736 F(Int16x8Equal, 2, 1) \ |
| 735 F(Int16x8LessThanOrEqual, 2, 1) \ | 737 F(Int16x8NotEqual, 2, 1) \ |
| 736 F(Int16x8GreaterThan, 2, 1) \ | 738 F(Int16x8LessThan, 2, 1) \ |
| 737 F(Int16x8GreaterThanOrEqual, 2, 1) \ | 739 F(Int16x8LessThanOrEqual, 2, 1) \ |
| 738 F(Int16x8Select, 3, 1) \ | 740 F(Int16x8GreaterThan, 2, 1) \ |
| 739 F(Int16x8Swizzle, 9, 1) \ | 741 F(Int16x8GreaterThanOrEqual, 2, 1) \ |
| 740 F(Int16x8Shuffle, 10, 1) \ | 742 F(Int16x8Select, 3, 1) \ |
| 741 F(Int16x8FromUint16x8, 1, 1) \ | 743 F(Int16x8Swizzle, 9, 1) \ |
| 742 F(Int16x8FromFloat32x4Bits, 1, 1) \ | 744 F(Int16x8Shuffle, 10, 1) \ |
| 743 F(Int16x8FromInt32x4Bits, 1, 1) \ | 745 F(Int16x8FromUint16x8, 1, 1) \ |
| 744 F(Int16x8FromUint32x4Bits, 1, 1) \ | 746 F(Int16x8FromFloat32x4Bits, 1, 1) \ |
| 745 F(Int16x8FromUint16x8Bits, 1, 1) \ | 747 F(Int16x8FromInt32x4Bits, 1, 1) \ |
| 746 F(Int16x8FromInt8x16Bits, 1, 1) \ | 748 F(Int16x8FromUint32x4Bits, 1, 1) \ |
| 747 F(Int16x8FromUint8x16Bits, 1, 1) \ | 749 F(Int16x8FromUint16x8Bits, 1, 1) \ |
| 748 F(Int16x8Load, 2, 1) \ | 750 F(Int16x8FromInt8x16Bits, 1, 1) \ |
| 749 F(Int16x8Store, 3, 1) \ | 751 F(Int16x8FromUint8x16Bits, 1, 1) \ |
| 750 F(Uint16x8Check, 1, 1) \ | 752 F(Int16x8Load, 2, 1) \ |
| 751 F(Uint16x8ExtractLane, 2, 1) \ | 753 F(Int16x8Store, 3, 1) \ |
| 752 F(Uint16x8ReplaceLane, 3, 1) \ | 754 F(Uint16x8Check, 1, 1) \ |
| 753 F(Uint16x8Add, 2, 1) \ | 755 F(Uint16x8ExtractLane, 2, 1) \ |
| 754 F(Uint16x8AddSaturate, 2, 1) \ | 756 F(Uint16x8ReplaceLane, 3, 1) \ |
| 755 F(Uint16x8Sub, 2, 1) \ | 757 F(Uint16x8Add, 2, 1) \ |
| 756 F(Uint16x8SubSaturate, 2, 1) \ | 758 F(Uint16x8AddSaturate, 2, 1) \ |
| 757 F(Uint16x8Mul, 2, 1) \ | 759 F(Uint16x8Sub, 2, 1) \ |
| 758 F(Uint16x8Min, 2, 1) \ | 760 F(Uint16x8SubSaturate, 2, 1) \ |
| 759 F(Uint16x8Max, 2, 1) \ | 761 F(Uint16x8Mul, 2, 1) \ |
| 760 F(Uint16x8And, 2, 1) \ | 762 F(Uint16x8Min, 2, 1) \ |
| 761 F(Uint16x8Or, 2, 1) \ | 763 F(Uint16x8Max, 2, 1) \ |
| 762 F(Uint16x8Xor, 2, 1) \ | 764 F(Uint16x8And, 2, 1) \ |
| 763 F(Uint16x8Not, 1, 1) \ | 765 F(Uint16x8Or, 2, 1) \ |
| 764 F(Uint16x8ShiftLeftByScalar, 2, 1) \ | 766 F(Uint16x8Xor, 2, 1) \ |
| 765 F(Uint16x8ShiftRightByScalar, 2, 1) \ | 767 F(Uint16x8Not, 1, 1) \ |
| 766 F(Uint16x8Equal, 2, 1) \ | 768 F(Uint16x8ShiftLeftByScalar, 2, 1) \ |
| 767 F(Uint16x8NotEqual, 2, 1) \ | 769 F(Uint16x8ShiftRightByScalar, 2, 1) \ |
| 768 F(Uint16x8LessThan, 2, 1) \ | 770 F(Uint16x8Equal, 2, 1) \ |
| 769 F(Uint16x8LessThanOrEqual, 2, 1) \ | 771 F(Uint16x8NotEqual, 2, 1) \ |
| 770 F(Uint16x8GreaterThan, 2, 1) \ | 772 F(Uint16x8LessThan, 2, 1) \ |
| 771 F(Uint16x8GreaterThanOrEqual, 2, 1) \ | 773 F(Uint16x8LessThanOrEqual, 2, 1) \ |
| 772 F(Uint16x8Select, 3, 1) \ | 774 F(Uint16x8GreaterThan, 2, 1) \ |
| 773 F(Uint16x8Swizzle, 9, 1) \ | 775 F(Uint16x8GreaterThanOrEqual, 2, 1) \ |
| 774 F(Uint16x8Shuffle, 10, 1) \ | 776 F(Uint16x8Select, 3, 1) \ |
| 775 F(Uint16x8FromInt16x8, 1, 1) \ | 777 F(Uint16x8Swizzle, 9, 1) \ |
| 776 F(Uint16x8FromFloat32x4Bits, 1, 1) \ | 778 F(Uint16x8Shuffle, 10, 1) \ |
| 777 F(Uint16x8FromInt32x4Bits, 1, 1) \ | 779 F(Uint16x8FromInt16x8, 1, 1) \ |
| 778 F(Uint16x8FromUint32x4Bits, 1, 1) \ | 780 F(Uint16x8FromFloat32x4Bits, 1, 1) \ |
| 779 F(Uint16x8FromInt16x8Bits, 1, 1) \ | 781 F(Uint16x8FromInt32x4Bits, 1, 1) \ |
| 780 F(Uint16x8FromInt8x16Bits, 1, 1) \ | 782 F(Uint16x8FromUint32x4Bits, 1, 1) \ |
| 781 F(Uint16x8FromUint8x16Bits, 1, 1) \ | 783 F(Uint16x8FromInt16x8Bits, 1, 1) \ |
| 782 F(Uint16x8Load, 2, 1) \ | 784 F(Uint16x8FromInt8x16Bits, 1, 1) \ |
| 783 F(Uint16x8Store, 3, 1) \ | 785 F(Uint16x8FromUint8x16Bits, 1, 1) \ |
| 784 F(Bool16x8Check, 1, 1) \ | 786 F(Uint16x8Load, 2, 1) \ |
| 785 F(Bool16x8ExtractLane, 2, 1) \ | 787 F(Uint16x8Store, 3, 1) \ |
| 786 F(Bool16x8ReplaceLane, 3, 1) \ | 788 F(Bool16x8Check, 1, 1) \ |
| 787 F(Bool16x8And, 2, 1) \ | 789 F(Bool16x8ExtractLane, 2, 1) \ |
| 788 F(Bool16x8Or, 2, 1) \ | 790 F(Bool16x8ReplaceLane, 3, 1) \ |
| 789 F(Bool16x8Xor, 2, 1) \ | 791 F(Bool16x8And, 2, 1) \ |
| 790 F(Bool16x8Not, 1, 1) \ | 792 F(Bool16x8Or, 2, 1) \ |
| 791 F(Bool16x8AnyTrue, 1, 1) \ | 793 F(Bool16x8Xor, 2, 1) \ |
| 792 F(Bool16x8AllTrue, 1, 1) \ | 794 F(Bool16x8Not, 1, 1) \ |
| 793 F(Bool16x8Swizzle, 9, 1) \ | 795 F(Bool16x8AnyTrue, 1, 1) \ |
| 794 F(Bool16x8Shuffle, 10, 1) \ | 796 F(Bool16x8AllTrue, 1, 1) \ |
| 795 F(Int8x16Check, 1, 1) \ | 797 F(Bool16x8Swizzle, 9, 1) \ |
| 796 F(Int8x16ExtractLane, 2, 1) \ | 798 F(Bool16x8Shuffle, 10, 1) \ |
| 797 F(Int8x16ReplaceLane, 3, 1) \ | 799 F(Bool16x8Equal, 2, 1) \ |
| 798 F(Int8x16Neg, 1, 1) \ | 800 F(Bool16x8NotEqual, 2, 1) \ |
| 799 F(Int8x16Add, 2, 1) \ | 801 F(Int8x16Check, 1, 1) \ |
| 800 F(Int8x16AddSaturate, 2, 1) \ | 802 F(Int8x16ExtractLane, 2, 1) \ |
| 801 F(Int8x16Sub, 2, 1) \ | 803 F(Int8x16ReplaceLane, 3, 1) \ |
| 802 F(Int8x16SubSaturate, 2, 1) \ | 804 F(Int8x16Neg, 1, 1) \ |
| 803 F(Int8x16Mul, 2, 1) \ | 805 F(Int8x16Add, 2, 1) \ |
| 804 F(Int8x16Min, 2, 1) \ | 806 F(Int8x16AddSaturate, 2, 1) \ |
| 805 F(Int8x16Max, 2, 1) \ | 807 F(Int8x16Sub, 2, 1) \ |
| 806 F(Int8x16And, 2, 1) \ | 808 F(Int8x16SubSaturate, 2, 1) \ |
| 807 F(Int8x16Or, 2, 1) \ | 809 F(Int8x16Mul, 2, 1) \ |
| 808 F(Int8x16Xor, 2, 1) \ | 810 F(Int8x16Min, 2, 1) \ |
| 809 F(Int8x16Not, 1, 1) \ | 811 F(Int8x16Max, 2, 1) \ |
| 810 F(Int8x16ShiftLeftByScalar, 2, 1) \ | 812 F(Int8x16And, 2, 1) \ |
| 811 F(Int8x16ShiftRightByScalar, 2, 1) \ | 813 F(Int8x16Or, 2, 1) \ |
| 812 F(Int8x16Equal, 2, 1) \ | 814 F(Int8x16Xor, 2, 1) \ |
| 813 F(Int8x16NotEqual, 2, 1) \ | 815 F(Int8x16Not, 1, 1) \ |
| 814 F(Int8x16LessThan, 2, 1) \ | 816 F(Int8x16ShiftLeftByScalar, 2, 1) \ |
| 815 F(Int8x16LessThanOrEqual, 2, 1) \ | 817 F(Int8x16ShiftRightByScalar, 2, 1) \ |
| 816 F(Int8x16GreaterThan, 2, 1) \ | 818 F(Int8x16Equal, 2, 1) \ |
| 817 F(Int8x16GreaterThanOrEqual, 2, 1) \ | 819 F(Int8x16NotEqual, 2, 1) \ |
| 818 F(Int8x16Select, 3, 1) \ | 820 F(Int8x16LessThan, 2, 1) \ |
| 819 F(Int8x16Swizzle, 17, 1) \ | 821 F(Int8x16LessThanOrEqual, 2, 1) \ |
| 820 F(Int8x16Shuffle, 18, 1) \ | 822 F(Int8x16GreaterThan, 2, 1) \ |
| 821 F(Int8x16FromUint8x16, 1, 1) \ | 823 F(Int8x16GreaterThanOrEqual, 2, 1) \ |
| 822 F(Int8x16FromFloat32x4Bits, 1, 1) \ | 824 F(Int8x16Select, 3, 1) \ |
| 823 F(Int8x16FromInt32x4Bits, 1, 1) \ | 825 F(Int8x16Swizzle, 17, 1) \ |
| 824 F(Int8x16FromUint32x4Bits, 1, 1) \ | 826 F(Int8x16Shuffle, 18, 1) \ |
| 825 F(Int8x16FromInt16x8Bits, 1, 1) \ | 827 F(Int8x16FromUint8x16, 1, 1) \ |
| 826 F(Int8x16FromUint16x8Bits, 1, 1) \ | 828 F(Int8x16FromFloat32x4Bits, 1, 1) \ |
| 827 F(Int8x16FromUint8x16Bits, 1, 1) \ | 829 F(Int8x16FromInt32x4Bits, 1, 1) \ |
| 828 F(Int8x16Load, 2, 1) \ | 830 F(Int8x16FromUint32x4Bits, 1, 1) \ |
| 829 F(Int8x16Store, 3, 1) \ | 831 F(Int8x16FromInt16x8Bits, 1, 1) \ |
| 830 F(Uint8x16Check, 1, 1) \ | 832 F(Int8x16FromUint16x8Bits, 1, 1) \ |
| 831 F(Uint8x16ExtractLane, 2, 1) \ | 833 F(Int8x16FromUint8x16Bits, 1, 1) \ |
| 832 F(Uint8x16ReplaceLane, 3, 1) \ | 834 F(Int8x16Load, 2, 1) \ |
| 833 F(Uint8x16Add, 2, 1) \ | 835 F(Int8x16Store, 3, 1) \ |
| 834 F(Uint8x16AddSaturate, 2, 1) \ | 836 F(Uint8x16Check, 1, 1) \ |
| 835 F(Uint8x16Sub, 2, 1) \ | 837 F(Uint8x16ExtractLane, 2, 1) \ |
| 836 F(Uint8x16SubSaturate, 2, 1) \ | 838 F(Uint8x16ReplaceLane, 3, 1) \ |
| 837 F(Uint8x16Mul, 2, 1) \ | 839 F(Uint8x16Add, 2, 1) \ |
| 838 F(Uint8x16Min, 2, 1) \ | 840 F(Uint8x16AddSaturate, 2, 1) \ |
| 839 F(Uint8x16Max, 2, 1) \ | 841 F(Uint8x16Sub, 2, 1) \ |
| 840 F(Uint8x16And, 2, 1) \ | 842 F(Uint8x16SubSaturate, 2, 1) \ |
| 841 F(Uint8x16Or, 2, 1) \ | 843 F(Uint8x16Mul, 2, 1) \ |
| 842 F(Uint8x16Xor, 2, 1) \ | 844 F(Uint8x16Min, 2, 1) \ |
| 843 F(Uint8x16Not, 1, 1) \ | 845 F(Uint8x16Max, 2, 1) \ |
| 844 F(Uint8x16ShiftLeftByScalar, 2, 1) \ | 846 F(Uint8x16And, 2, 1) \ |
| 845 F(Uint8x16ShiftRightByScalar, 2, 1) \ | 847 F(Uint8x16Or, 2, 1) \ |
| 846 F(Uint8x16Equal, 2, 1) \ | 848 F(Uint8x16Xor, 2, 1) \ |
| 847 F(Uint8x16NotEqual, 2, 1) \ | 849 F(Uint8x16Not, 1, 1) \ |
| 848 F(Uint8x16LessThan, 2, 1) \ | 850 F(Uint8x16ShiftLeftByScalar, 2, 1) \ |
| 849 F(Uint8x16LessThanOrEqual, 2, 1) \ | 851 F(Uint8x16ShiftRightByScalar, 2, 1) \ |
| 850 F(Uint8x16GreaterThan, 2, 1) \ | 852 F(Uint8x16Equal, 2, 1) \ |
| 851 F(Uint8x16GreaterThanOrEqual, 2, 1) \ | 853 F(Uint8x16NotEqual, 2, 1) \ |
| 852 F(Uint8x16Select, 3, 1) \ | 854 F(Uint8x16LessThan, 2, 1) \ |
| 853 F(Uint8x16Swizzle, 17, 1) \ | 855 F(Uint8x16LessThanOrEqual, 2, 1) \ |
| 854 F(Uint8x16Shuffle, 18, 1) \ | 856 F(Uint8x16GreaterThan, 2, 1) \ |
| 855 F(Uint8x16FromInt8x16, 1, 1) \ | 857 F(Uint8x16GreaterThanOrEqual, 2, 1) \ |
| 856 F(Uint8x16FromFloat32x4Bits, 1, 1) \ | 858 F(Uint8x16Select, 3, 1) \ |
| 857 F(Uint8x16FromInt32x4Bits, 1, 1) \ | 859 F(Uint8x16Swizzle, 17, 1) \ |
| 858 F(Uint8x16FromUint32x4Bits, 1, 1) \ | 860 F(Uint8x16Shuffle, 18, 1) \ |
| 859 F(Uint8x16FromInt16x8Bits, 1, 1) \ | 861 F(Uint8x16FromInt8x16, 1, 1) \ |
| 860 F(Uint8x16FromUint16x8Bits, 1, 1) \ | 862 F(Uint8x16FromFloat32x4Bits, 1, 1) \ |
| 861 F(Uint8x16FromInt8x16Bits, 1, 1) \ | 863 F(Uint8x16FromInt32x4Bits, 1, 1) \ |
| 862 F(Uint8x16Load, 2, 1) \ | 864 F(Uint8x16FromUint32x4Bits, 1, 1) \ |
| 863 F(Uint8x16Store, 3, 1) \ | 865 F(Uint8x16FromInt16x8Bits, 1, 1) \ |
| 864 F(Bool8x16Check, 1, 1) \ | 866 F(Uint8x16FromUint16x8Bits, 1, 1) \ |
| 865 F(Bool8x16ExtractLane, 2, 1) \ | 867 F(Uint8x16FromInt8x16Bits, 1, 1) \ |
| 866 F(Bool8x16ReplaceLane, 3, 1) \ | 868 F(Uint8x16Load, 2, 1) \ |
| 867 F(Bool8x16And, 2, 1) \ | 869 F(Uint8x16Store, 3, 1) \ |
| 868 F(Bool8x16Or, 2, 1) \ | 870 F(Bool8x16Check, 1, 1) \ |
| 869 F(Bool8x16Xor, 2, 1) \ | 871 F(Bool8x16ExtractLane, 2, 1) \ |
| 870 F(Bool8x16Not, 1, 1) \ | 872 F(Bool8x16ReplaceLane, 3, 1) \ |
| 871 F(Bool8x16AnyTrue, 1, 1) \ | 873 F(Bool8x16And, 2, 1) \ |
| 872 F(Bool8x16AllTrue, 1, 1) \ | 874 F(Bool8x16Or, 2, 1) \ |
| 873 F(Bool8x16Swizzle, 17, 1) \ | 875 F(Bool8x16Xor, 2, 1) \ |
| 874 F(Bool8x16Shuffle, 18, 1) | 876 F(Bool8x16Not, 1, 1) \ |
| 877 F(Bool8x16AnyTrue, 1, 1) \ |
| 878 F(Bool8x16AllTrue, 1, 1) \ |
| 879 F(Bool8x16Swizzle, 17, 1) \ |
| 880 F(Bool8x16Shuffle, 18, 1) \ |
| 881 F(Bool8x16Equal, 2, 1) \ |
| 882 F(Bool8x16NotEqual, 2, 1) |
| 875 | 883 |
| 876 | 884 |
| 877 #define FOR_EACH_INTRINSIC_STRINGS(F) \ | 885 #define FOR_EACH_INTRINSIC_STRINGS(F) \ |
| 878 F(StringReplaceOneCharWithString, 3, 1) \ | 886 F(StringReplaceOneCharWithString, 3, 1) \ |
| 879 F(StringIndexOf, 3, 1) \ | 887 F(StringIndexOf, 3, 1) \ |
| 880 F(StringLastIndexOf, 3, 1) \ | 888 F(StringLastIndexOf, 3, 1) \ |
| 881 F(StringLocaleCompare, 2, 1) \ | 889 F(StringLocaleCompare, 2, 1) \ |
| 882 F(SubString, 3, 1) \ | 890 F(SubString, 3, 1) \ |
| 883 F(StringAdd, 2, 1) \ | 891 F(StringAdd, 2, 1) \ |
| 884 F(InternalizeString, 1, 1) \ | 892 F(InternalizeString, 1, 1) \ |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1175 // Used in runtime.cc and hydrogen's VisitArrayLiteral. | 1183 // Used in runtime.cc and hydrogen's VisitArrayLiteral. |
| 1176 MUST_USE_RESULT static MaybeHandle<Object> CreateArrayLiteralBoilerplate( | 1184 MUST_USE_RESULT static MaybeHandle<Object> CreateArrayLiteralBoilerplate( |
| 1177 Isolate* isolate, Handle<LiteralsArray> literals, | 1185 Isolate* isolate, Handle<LiteralsArray> literals, |
| 1178 Handle<FixedArray> elements, bool is_strong); | 1186 Handle<FixedArray> elements, bool is_strong); |
| 1179 | 1187 |
| 1180 static MaybeHandle<JSArray> GetInternalProperties(Isolate* isolate, | 1188 static MaybeHandle<JSArray> GetInternalProperties(Isolate* isolate, |
| 1181 Handle<Object>); | 1189 Handle<Object>); |
| 1182 }; | 1190 }; |
| 1183 | 1191 |
| 1184 | 1192 |
| 1193 struct RuntimeCallStats { |
| 1194 #define CALL_RUNTIME_COUNTER(name, nargs, ressize) \ |
| 1195 uint32_t Count_Runtime_##name; \ |
| 1196 base::TimeDelta Time_Runtime_##name; |
| 1197 FOR_EACH_INTRINSIC(CALL_RUNTIME_COUNTER) |
| 1198 #undef CALL_RUNTIME_COUNTER |
| 1199 |
| 1200 // Dummy counter for the unexpected stub miss. |
| 1201 uint32_t Count_UnexpectedStubMiss; |
| 1202 base::TimeDelta Time_UnexpectedStubMiss; |
| 1203 |
| 1204 bool in_runtime_call = false; |
| 1205 |
| 1206 void Reset(); |
| 1207 void Print(std::ostream& os); |
| 1208 |
| 1209 RuntimeCallStats() { Reset(); } |
| 1210 }; |
| 1211 |
| 1212 |
| 1185 class RuntimeState { | 1213 class RuntimeState { |
| 1186 public: | 1214 public: |
| 1187 unibrow::Mapping<unibrow::ToUppercase, 128>* to_upper_mapping() { | 1215 unibrow::Mapping<unibrow::ToUppercase, 128>* to_upper_mapping() { |
| 1188 return &to_upper_mapping_; | 1216 return &to_upper_mapping_; |
| 1189 } | 1217 } |
| 1190 unibrow::Mapping<unibrow::ToLowercase, 128>* to_lower_mapping() { | 1218 unibrow::Mapping<unibrow::ToLowercase, 128>* to_lower_mapping() { |
| 1191 return &to_lower_mapping_; | 1219 return &to_lower_mapping_; |
| 1192 } | 1220 } |
| 1193 | 1221 |
| 1194 Runtime::Function* redirected_intrinsic_functions() { | 1222 Runtime::Function* redirected_intrinsic_functions() { |
| 1195 return redirected_intrinsic_functions_.get(); | 1223 return redirected_intrinsic_functions_.get(); |
| 1196 } | 1224 } |
| 1197 | 1225 |
| 1198 void set_redirected_intrinsic_functions( | 1226 void set_redirected_intrinsic_functions( |
| 1199 Runtime::Function* redirected_intrinsic_functions) { | 1227 Runtime::Function* redirected_intrinsic_functions) { |
| 1200 redirected_intrinsic_functions_.Reset(redirected_intrinsic_functions); | 1228 redirected_intrinsic_functions_.Reset(redirected_intrinsic_functions); |
| 1201 } | 1229 } |
| 1202 | 1230 |
| 1231 RuntimeCallStats* runtime_call_stats() { return &runtime_call_stats_; } |
| 1232 |
| 1203 private: | 1233 private: |
| 1204 RuntimeState() {} | 1234 RuntimeState() {} |
| 1205 unibrow::Mapping<unibrow::ToUppercase, 128> to_upper_mapping_; | 1235 unibrow::Mapping<unibrow::ToUppercase, 128> to_upper_mapping_; |
| 1206 unibrow::Mapping<unibrow::ToLowercase, 128> to_lower_mapping_; | 1236 unibrow::Mapping<unibrow::ToLowercase, 128> to_lower_mapping_; |
| 1207 | 1237 |
| 1238 RuntimeCallStats runtime_call_stats_; |
| 1239 |
| 1208 base::SmartArrayPointer<Runtime::Function> redirected_intrinsic_functions_; | 1240 base::SmartArrayPointer<Runtime::Function> redirected_intrinsic_functions_; |
| 1209 | 1241 |
| 1210 friend class Isolate; | 1242 friend class Isolate; |
| 1211 friend class Runtime; | 1243 friend class Runtime; |
| 1212 | 1244 |
| 1213 DISALLOW_COPY_AND_ASSIGN(RuntimeState); | 1245 DISALLOW_COPY_AND_ASSIGN(RuntimeState); |
| 1214 }; | 1246 }; |
| 1215 | 1247 |
| 1216 | 1248 |
| 1217 std::ostream& operator<<(std::ostream&, Runtime::FunctionId); | 1249 std::ostream& operator<<(std::ostream&, Runtime::FunctionId); |
| 1218 | 1250 |
| 1219 //--------------------------------------------------------------------------- | 1251 //--------------------------------------------------------------------------- |
| 1220 // Constants used by interface to runtime functions. | 1252 // Constants used by interface to runtime functions. |
| 1221 | 1253 |
| 1222 class AllocateDoubleAlignFlag : public BitField<bool, 0, 1> {}; | 1254 class AllocateDoubleAlignFlag : public BitField<bool, 0, 1> {}; |
| 1223 class AllocateTargetSpace : public BitField<AllocationSpace, 1, 3> {}; | 1255 class AllocateTargetSpace : public BitField<AllocationSpace, 1, 3> {}; |
| 1224 | 1256 |
| 1225 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; | 1257 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; |
| 1226 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; | 1258 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; |
| 1227 STATIC_ASSERT(LANGUAGE_END == 3); | 1259 STATIC_ASSERT(LANGUAGE_END == 3); |
| 1228 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {}; | 1260 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {}; |
| 1229 | 1261 |
| 1230 } // namespace internal | 1262 } // namespace internal |
| 1231 } // namespace v8 | 1263 } // namespace v8 |
| 1232 | 1264 |
| 1233 #endif // V8_RUNTIME_RUNTIME_H_ | 1265 #endif // V8_RUNTIME_RUNTIME_H_ |
| OLD | NEW |