diff options
author | Mike Pall <mike> | 2011-06-29 01:51:39 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2011-06-29 01:52:23 +0200 |
commit | 82eca898db87bde10fbbb14a0f35ef75b6c3dcc6 (patch) | |
tree | 9b5aa8a81267664430a94fc40a131fe33c1832d7 /src/buildvm_x64.h | |
parent | deeb8196c4d4085f3cc5a3389b568de7da739190 (diff) | |
download | luajit-82eca898db87bde10fbbb14a0f35ef75b6c3dcc6.tar.gz luajit-82eca898db87bde10fbbb14a0f35ef75b6c3dcc6.tar.bz2 luajit-82eca898db87bde10fbbb14a0f35ef75b6c3dcc6.zip |
Prefer recording loops over calls.
Hotcounts are decremented by 2 for loops and by 1 for calls.
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r-- | src/buildvm_x64.h | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h index f6ed666c..4e4eca54 100644 --- a/src/buildvm_x64.h +++ b/src/buildvm_x64.h | |||
@@ -751,16 +751,16 @@ static const unsigned char build_actionlist[16156] = { | |||
751 | 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255,65,199,71,252, | 751 | 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255,65,199,71,252, |
752 | 252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244, | 752 | 252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244, |
753 | 5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233, | 753 | 5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233, |
754 | 255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244, | 754 | 255,137,221,209,252,237,129,229,239,102,65,129,172,253,46,233,238,15,130, |
755 | 148,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12, | 755 | 244,148,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253, |
756 | 239,15,133,244,60,129,121,253,20,239,15,133,244,60,139,41,131,121,16,0,15, | 756 | 12,239,15,133,244,60,129,121,253,20,239,15,133,244,60,139,41,131,121,16,0, |
757 | 140,244,251,255,129,121,253,12,239,15,133,244,165,129,121,253,20,239,15,133, | 757 | 15,140,244,251,255,129,121,253,12,239,15,133,244,165,129,121,253,20,239,15, |
758 | 244,165,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137, | 758 | 133,244,165,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247, |
759 | 41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141, | 759 | 137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248, |
760 | 156,253,131,233,255,141,156,253,131,233,15,183,67,252,254,15,142,245,248, | 760 | 6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,254,15,142,245, |
761 | 1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248,1,255,248,7,139, | 761 | 248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248,1,255,248,7, |
762 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5, | 762 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248, |
763 | 255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253,131,233,15, | 763 | 5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253,131,233,15, |
764 | 183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129, | 764 | 183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129, |
765 | 121,253,4,239,255,15,131,244,60,129,121,253,12,239,15,131,244,60,255,129, | 765 | 121,253,4,239,255,15,131,244,60,129,121,253,12,239,15,131,244,60,255,129, |
766 | 121,253,12,239,15,131,244,165,129,121,253,20,239,15,131,244,165,255,139,105, | 766 | 121,253,12,239,15,131,244,165,129,121,253,20,239,15,131,244,165,255,139,105, |
@@ -777,22 +777,22 @@ static const unsigned char build_actionlist[16156] = { | |||
777 | 139,4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233,76,137, | 777 | 139,4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233,76,137, |
778 | 36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253,131,233, | 778 | 36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253,131,233, |
779 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, | 779 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, |
780 | 137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,150, | 780 | 137,221,209,252,237,129,229,239,102,65,129,172,253,46,233,238,15,130,244, |
781 | 255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,24,15,182, | 781 | 150,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,24, |
782 | 139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233,245,255, | 782 | 15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233, |
783 | 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2, | 783 | 245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233, |
784 | 255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68,137,120, | 784 | 244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68, |
785 | 252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,23,137,209,137,194, | 785 | 137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,23,137,209, |
786 | 15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, | 786 | 137,194,15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209, |
787 | 249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137,120,4,131,192, | 787 | 15,131,244,249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137,120, |
788 | 8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68,139,187,233, | 788 | 4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68,139, |
789 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, | 789 | 187,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
790 | 248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255, | 790 | 238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244, |
791 | 139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248,137,149,233, | 791 | 2,255,139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248,137, |
792 | 141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,252,239,255,15, | 792 | 149,233,141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,252,239, |
793 | 135,244,22,65,199,134,233,237,255,65,252,255,215,255,65,252,255,150,233,255, | 793 | 255,15,135,244,22,65,199,134,233,237,255,65,252,255,215,255,65,252,255,150, |
794 | 65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,90,252, | 794 | 233,255,65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139, |
795 | 252,252,233,244,12,255,254,0 | 795 | 90,252,252,252,233,244,12,255,254,0 |
796 | }; | 796 | }; |
797 | 797 | ||
798 | enum { | 798 | enum { |
@@ -2777,7 +2777,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2777 | 2777 | ||
2778 | case BC_FORL: | 2778 | case BC_FORL: |
2779 | #if LJ_HASJIT | 2779 | #if LJ_HASJIT |
2780 | dasm_put(Dst, 15309, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2780 | dasm_put(Dst, 15309, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
2781 | #endif | 2781 | #endif |
2782 | break; | 2782 | break; |
2783 | 2783 | ||
@@ -2893,7 +2893,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2893 | 2893 | ||
2894 | case BC_ITERL: | 2894 | case BC_ITERL: |
2895 | #if LJ_HASJIT | 2895 | #if LJ_HASJIT |
2896 | dasm_put(Dst, 15309, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2896 | dasm_put(Dst, 15309, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
2897 | #endif | 2897 | #endif |
2898 | break; | 2898 | break; |
2899 | 2899 | ||
@@ -2913,7 +2913,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2913 | 2913 | ||
2914 | case BC_LOOP: | 2914 | case BC_LOOP: |
2915 | #if LJ_HASJIT | 2915 | #if LJ_HASJIT |
2916 | dasm_put(Dst, 15309, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2916 | dasm_put(Dst, 15309, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
2917 | #endif | 2917 | #endif |
2918 | break; | 2918 | break; |
2919 | 2919 | ||
@@ -2942,7 +2942,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2942 | 2942 | ||
2943 | case BC_FUNCF: | 2943 | case BC_FUNCF: |
2944 | #if LJ_HASJIT | 2944 | #if LJ_HASJIT |
2945 | dasm_put(Dst, 15842, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2945 | dasm_put(Dst, 15842, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL); |
2946 | #endif | 2946 | #endif |
2947 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2947 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2948 | break; | 2948 | break; |