Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into even-moar-jit
Browse files Browse the repository at this point in the history
  • Loading branch information
bdw committed May 20, 2017
2 parents fcff787 + 9c17626 commit aeba4f8
Show file tree
Hide file tree
Showing 14 changed files with 94 additions and 419 deletions.
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
2017.04
2017.05
18 changes: 18 additions & 0 deletions docs/ChangeLog
@@ -1,3 +1,21 @@
New in 2017.05

+ Mark profiler call graphs iteratively instead of recursively
+ Keep around line number annotations in spesh, for more accurate source
position information for coverage data in specialized code
+ Introduce "telemeh", a high-precision-time low-impact logger
+ Fix error reporting in chdir
+ Fix memory leak on error in chdir
+ Travis: readlink doesn't have `-f` on MacOS so make our own solution
+ Fix bug in index ignorecase and equal at ignorecase
+ Fix all known remaining bugs in indexic and eqatic
+ Zero slot when popping a VMArray, to avoid junk reads if it grows again later
+ Add can_fit_into_8bit funct, put logic used many places into one function
+ Use -1 instead of 0 when long right-shifting negative smallints
+ Remove workaround for tommath issue #56, which is now fixed upstream
+ Don't crash on reading a closed dir handle
+ Remove deprecated async string I/O ops

New in 2017.04

+ Shorten the nursery when creating large bigints, to bring GC forward and
Expand Down
12 changes: 6 additions & 6 deletions lib/MAST/Ops.nqp
Expand Up @@ -4293,9 +4293,9 @@ BEGIN {
'watchfile', 587,
'asyncconnect', 588,
'asynclisten', 589,
'asyncwritestr', 590,
'DEPRECATED_14', 590,
'asyncwritebytes', 591,
'asyncreadchars', 592,
'DEPRECATED_16', 592,
'asyncreadbytes', 593,
'getlexstatic_o', 594,
'getlexperinvtype_o', 595,
Expand Down Expand Up @@ -4406,7 +4406,7 @@ BEGIN {
'multidimref_s', 700,
'fileno_fh', 701,
'asyncudp', 702,
'asyncwritestrto', 703,
'DEPRECATED_15', 703,
'asyncwritebytesto', 704,
'objprimbits', 705,
'objprimunsigned', 706,
Expand Down Expand Up @@ -5115,9 +5115,9 @@ BEGIN {
'watchfile',
'asyncconnect',
'asynclisten',
'asyncwritestr',
'DEPRECATED_14',
'asyncwritebytes',
'asyncreadchars',
'DEPRECATED_16',
'asyncreadbytes',
'getlexstatic_o',
'getlexperinvtype_o',
Expand Down Expand Up @@ -5228,7 +5228,7 @@ BEGIN {
'multidimref_s',
'fileno_fh',
'asyncudp',
'asyncwritestrto',
'DEPRECATED_15',
'asyncwritebytesto',
'objprimbits',
'objprimunsigned',
Expand Down
23 changes: 6 additions & 17 deletions src/core/interp.c
Expand Up @@ -4205,23 +4205,12 @@ void MVM_interp_run(MVMThreadContext *tc, void (*initial_invoke)(MVMThreadContex
GET_REG(cur_op, 8).i64, (int)GET_REG(cur_op, 10).i64, GET_REG(cur_op, 12).o);
cur_op += 14;
goto NEXT;
OP(asyncwritestr):
GET_REG(cur_op, 0).o = MVM_io_write_string_async(tc, GET_REG(cur_op, 2).o,
GET_REG(cur_op, 4).o, GET_REG(cur_op, 6).o, GET_REG(cur_op, 8).s,
GET_REG(cur_op, 10).o);
cur_op += 12;
goto NEXT;
OP(asyncwritebytes):
GET_REG(cur_op, 0).o = MVM_io_write_bytes_async(tc, GET_REG(cur_op, 2).o,
GET_REG(cur_op, 4).o, GET_REG(cur_op, 6).o, GET_REG(cur_op, 8).o,
GET_REG(cur_op, 10).o);
cur_op += 12;
goto NEXT;
OP(asyncreadchars):
GET_REG(cur_op, 0).o = MVM_io_read_chars_async(tc, GET_REG(cur_op, 2).o,
GET_REG(cur_op, 4).o, GET_REG(cur_op, 6).o, GET_REG(cur_op, 8).o);
cur_op += 10;
goto NEXT;
OP(asyncreadbytes):
GET_REG(cur_op, 0).o = MVM_io_read_bytes_async(tc, GET_REG(cur_op, 2).o,
GET_REG(cur_op, 4).o, GET_REG(cur_op, 6).o, GET_REG(cur_op, 8).o,
Expand Down Expand Up @@ -4834,12 +4823,6 @@ void MVM_interp_run(MVMThreadContext *tc, void (*initial_invoke)(MVMThreadContex
GET_REG(cur_op, 12).o);
cur_op += 14;
goto NEXT;
OP(asyncwritestrto):
GET_REG(cur_op, 0).o = MVM_io_write_string_to_async(tc, GET_REG(cur_op, 2).o,
GET_REG(cur_op, 4).o, GET_REG(cur_op, 6).o, GET_REG(cur_op, 8).s,
GET_REG(cur_op, 10).o, GET_REG(cur_op, 12).s, GET_REG(cur_op, 14).i64);
cur_op += 16;
goto NEXT;
OP(asyncwritebytesto):
GET_REG(cur_op, 0).o = MVM_io_write_bytes_to_async(tc, GET_REG(cur_op, 2).o,
GET_REG(cur_op, 4).o, GET_REG(cur_op, 6).o, GET_REG(cur_op, 8).o,
Expand Down Expand Up @@ -5631,6 +5614,12 @@ void MVM_interp_run(MVMThreadContext *tc, void (*initial_invoke)(MVMThreadContex
MVM_exception_throw_adhoc(tc, "The getregref_* ops were removed in MoarVM 2017.01.");
OP(DEPRECATED_13):
MVM_exception_throw_adhoc(tc, "The continuationclone op was removed in MoarVM 2017.01.");
OP(DEPRECATED_14):
MVM_exception_throw_adhoc(tc, "The asyncwritestr op was removed in MoarVM 2017.05.");
OP(DEPRECATED_15):
MVM_exception_throw_adhoc(tc, "The asyncwritestrto op was removed in MoarVM 2017.05.");
OP(DEPRECATED_16):
MVM_exception_throw_adhoc(tc, "The asyncreadchars op was removed in MoarVM 2017.05.");
OP(coverage_log): {
MVMString *filename = MVM_cu_string(tc, cu, GET_UI32(cur_op, 0));
MVMuint32 lineno = GET_UI32(cur_op, 4);
Expand Down
6 changes: 3 additions & 3 deletions src/core/oplabels.h
Expand Up @@ -591,9 +591,9 @@ static const void * const LABELS[] = {
&&OP_watchfile,
&&OP_asyncconnect,
&&OP_asynclisten,
&&OP_asyncwritestr,
&&OP_DEPRECATED_14,
&&OP_asyncwritebytes,
&&OP_asyncreadchars,
&&OP_DEPRECATED_16,
&&OP_asyncreadbytes,
&&OP_getlexstatic_o,
&&OP_getlexperinvtype_o,
Expand Down Expand Up @@ -704,7 +704,7 @@ static const void * const LABELS[] = {
&&OP_multidimref_s,
&&OP_fileno_fh,
&&OP_asyncudp,
&&OP_asyncwritestrto,
&&OP_DEPRECATED_15,
&&OP_asyncwritebytesto,
&&OP_objprimbits,
&&OP_objprimunsigned,
Expand Down
8 changes: 3 additions & 5 deletions src/core/oplist
Expand Up @@ -629,11 +629,9 @@ signal w(obj) r(obj) r(obj) r(int64) r(obj)
watchfile w(obj) r(obj) r(obj) r(str) r(obj)
asyncconnect w(obj) r(obj) r(obj) r(str) r(int64) r(obj)
asynclisten w(obj) r(obj) r(obj) r(str) r(int64) r(int64) r(obj)
# asyncwritestr will be DEPRECATED! (encode to bytes at the application level)
asyncwritestr w(obj) r(obj) r(obj) r(obj) r(str) r(obj)
DEPRECATED_14 w(obj) r(obj) r(obj) r(obj) r(str) r(obj)
asyncwritebytes w(obj) r(obj) r(obj) r(obj) r(obj) r(obj)
# asyncreadchars will be DEPRECATED! (decode from bytes at the application level)
asyncreadchars w(obj) r(obj) r(obj) r(obj) r(obj)
DEPRECATED_16 w(obj) r(obj) r(obj) r(obj) r(obj)
asyncreadbytes w(obj) r(obj) r(obj) r(obj) r(obj) r(obj)
getlexstatic_o w(obj) r(str) :pure :noinline
getlexperinvtype_o w(obj) r(str) :pure :noinline
Expand Down Expand Up @@ -744,7 +742,7 @@ multidimref_n w(obj) r(obj) r(obj) :pure
multidimref_s w(obj) r(obj) r(obj) :pure
fileno_fh w(int64) r(obj) :pure
asyncudp w(obj) r(obj) r(obj) r(str) r(int64) r(int64) r(obj)
asyncwritestrto w(obj) r(obj) r(obj) r(obj) r(str) r(obj) r(str) r(int64)
DEPRECATED_15 w(obj) r(obj) r(obj) r(obj) r(str) r(obj) r(str) r(int64)
asyncwritebytesto w(obj) r(obj) r(obj) r(obj) r(obj) r(obj) r(str) r(int64)
objprimbits w(int64) r(obj)
objprimunsigned w(int64) r(obj)
Expand Down
12 changes: 6 additions & 6 deletions src/core/ops.c
Expand Up @@ -6486,8 +6486,8 @@ static const MVMOpInfo MVM_op_infos[] = {
{ MVM_operand_write_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_str, MVM_operand_read_reg | MVM_operand_int64, MVM_operand_read_reg | MVM_operand_int64, MVM_operand_read_reg | MVM_operand_obj }
},
{
MVM_OP_asyncwritestr,
"asyncwritestr",
MVM_OP_DEPRECATED_14,
"DEPRECATED_14",
" ",
6,
0,
Expand All @@ -6508,8 +6508,8 @@ static const MVMOpInfo MVM_op_infos[] = {
{ MVM_operand_write_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj }
},
{
MVM_OP_asyncreadchars,
"asyncreadchars",
MVM_OP_DEPRECATED_16,
"DEPRECATED_16",
" ",
5,
0,
Expand Down Expand Up @@ -7727,8 +7727,8 @@ static const MVMOpInfo MVM_op_infos[] = {
{ MVM_operand_write_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_str, MVM_operand_read_reg | MVM_operand_int64, MVM_operand_read_reg | MVM_operand_int64, MVM_operand_read_reg | MVM_operand_obj }
},
{
MVM_OP_asyncwritestrto,
"asyncwritestrto",
MVM_OP_DEPRECATED_15,
"DEPRECATED_15",
" ",
8,
0,
Expand Down
6 changes: 3 additions & 3 deletions src/core/ops.h
Expand Up @@ -591,9 +591,9 @@
#define MVM_OP_watchfile 587
#define MVM_OP_asyncconnect 588
#define MVM_OP_asynclisten 589
#define MVM_OP_asyncwritestr 590
#define MVM_OP_DEPRECATED_14 590
#define MVM_OP_asyncwritebytes 591
#define MVM_OP_asyncreadchars 592
#define MVM_OP_DEPRECATED_16 592
#define MVM_OP_asyncreadbytes 593
#define MVM_OP_getlexstatic_o 594
#define MVM_OP_getlexperinvtype_o 595
Expand Down Expand Up @@ -704,7 +704,7 @@
#define MVM_OP_multidimref_s 700
#define MVM_OP_fileno_fh 701
#define MVM_OP_asyncudp 702
#define MVM_OP_asyncwritestrto 703
#define MVM_OP_DEPRECATED_15 703
#define MVM_OP_asyncwritebytesto 704
#define MVM_OP_objprimbits 705
#define MVM_OP_objprimunsigned 706
Expand Down

0 comments on commit aeba4f8

Please sign in to comment.