aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2013-12-22 11:46:06 +0100
committerMike Pall <mike>2013-12-22 11:46:06 +0100
commite52119bbdd5eaaee701fa5cccf2edcbfd25601e0 (patch)
treed2203c7ff4dbb6f83eb495f51fb1396cc07b9f50 /src
parentb03cebe1f60973a0b608489ab013d3f40dc10ae1 (diff)
parent89e8d7070169d11e7f188754006e03a40699c5dc (diff)
downloadluajit-e52119bbdd5eaaee701fa5cccf2edcbfd25601e0.tar.gz
luajit-e52119bbdd5eaaee701fa5cccf2edcbfd25601e0.tar.bz2
luajit-e52119bbdd5eaaee701fa5cccf2edcbfd25601e0.zip
Merge branch 'master' into v2.1
Diffstat (limited to 'src')
-rw-r--r--src/lj_ffrecord.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/lj_ffrecord.c b/src/lj_ffrecord.c
index 69614d92..42aae8b5 100644
--- a/src/lj_ffrecord.c
+++ b/src/lj_ffrecord.c
@@ -726,20 +726,19 @@ static void LJ_FASTCALL recff_string_range(jit_State *J, RecordFFData *rd)
726 end = argv2int(J, &rd->argv[2]); 726 end = argv2int(J, &rd->argv[2]);
727 } 727 }
728 } else { /* string.byte(str, [,start [,end]]) */ 728 } else { /* string.byte(str, [,start [,end]]) */
729 if (!tref_isnil(J->base[1])) { 729 if (tref_isnil(J->base[1])) {
730 start = 1;
731 trstart = lj_ir_kint(J, 1);
732 } else {
730 start = argv2int(J, &rd->argv[1]); 733 start = argv2int(J, &rd->argv[1]);
731 trstart = lj_opt_narrow_toint(J, J->base[1]); 734 trstart = lj_opt_narrow_toint(J, J->base[1]);
732 trend = J->base[2]; 735 }
733 if (tref_isnil(trend)) { 736 if (J->base[1] && !tref_isnil(J->base[2])) {
734 trend = trstart; 737 trend = lj_opt_narrow_toint(J, J->base[2]);
735 end = start; 738 end = argv2int(J, &rd->argv[2]);
736 } else {
737 trend = lj_opt_narrow_toint(J, trend);
738 end = argv2int(J, &rd->argv[2]);
739 }
740 } else { 739 } else {
741 trend = trstart = lj_ir_kint(J, 1); 740 trend = trstart;
742 end = start = 1; 741 end = start;
743 } 742 }
744 } 743 }
745 if (end < 0) { 744 if (end < 0) {