diff options
author | Mike Pall <mike> | 2013-12-22 11:46:06 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2013-12-22 11:46:06 +0100 |
commit | e52119bbdd5eaaee701fa5cccf2edcbfd25601e0 (patch) | |
tree | d2203c7ff4dbb6f83eb495f51fb1396cc07b9f50 /src | |
parent | b03cebe1f60973a0b608489ab013d3f40dc10ae1 (diff) | |
parent | 89e8d7070169d11e7f188754006e03a40699c5dc (diff) | |
download | luajit-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.c | 21 |
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) { |