NetBSD/pkgsrc 5JtlJ8edevel/MoarVM PLIST distinfo

   Update MoarVM to 2018.12.

   2018.12

   6model:

     * [6788cab6] Fix repossessions that cause object size "changes"

   Core:

     * [987269ea] Get readnum op working, try for 32-bit num support
     * [30088ed4] Fix memory leak of MVMFrameExtra
     * [1343702c] Fix segfault on {read,write}{uint,int} on a type object
     * [a8e63d2f] Sign extend values when reading less than 64 bit in readint
     * [8e078a2f] Improve handling of failure to join a thread, throw instead of
       handling and provide exception text instead of just the error code
     * [437d5b01] Fix big endian (read|write)u?int of < qword on big endian
       systems
     * [35ea9581] Fix bytestream ops from always converting to big endian if a
       switch is necessary
     * [1c3b0c93] Fix possibility of label id clash in bytecode compiler

   IO:

     * [a50a9d0e] Use uv_os_gethostname instead of gethostname to ensure winsock
       is initialized on Windows
     * [a994f88d] Use larger buffer for gethostname when available
     * [1dc540f5] Reimplement async socket introspection
     * [05384f21] Add a cancel handler for filewatch tasks to prevent leaking
       filehandles
     * [7c5d93ef] STAT is already used by AIX, so rename to STAT_t. Fixes AIX
       compilation issues

   JIT:

     * [b8ba4707] Support endian switching in read{uint,int}
     * [73b079c3,b8ba4707 437d5b01 35ea9581 c32000ba 652b2f4a] Support endian
       switching in write{uint,int} and read{uint,int}, fix big endian
       {read,write}{uint,int} of < qword on big endian systems, use read_buf also
       when switching endianness
     * [c2952f9e] JIT compile coerce_sI op

   Platform:

     * [6455d1f6] Fix double free in platform/sys.c

   Spesh:

     * [7d353030] Set callsite in frame for JIT spesh plugin resolve. Otherwise,
       we won't properly mark the args buffer which can lead to us processing
       outdated args
     * [0d5f389c] Don't dump "Facts" in "Before" part of spesh log
     * [c2640e1d] Discover type Facts of coerce_sI op

   Strings:

     * [4a7da329] Fix a case where the UTF-16 decoder would have a corrupted final
       codepoint
     * [fc495427] Use sys/machine.h on AIX systems in csiphash.h to fix
       compilation on AIX

   Tooling/Build:

     * [caf10703] Bring trace spesh optimizer GDB script up to date
     * [ef9e65ca] Make sure libatomicops build file is removed with make realclean
     * [7eb00c0b] Add missing libuv file to Makefile.in for AIX
     * [474b5264] Enable detection of 32 bit AIX systems in Configure.pl. This
       allows the compiled program to use a large memory space

   2018.11

   Other:

     * Rework the way bytecode is generated. Eliminate most of the MAST classes
       and allow us to compile bytecode without having to have everything in
       memory at the same time. The new compiler can walk the QAST tree and turn
       what used to be multile MAST objects into a single buffer. Now the QAST is
       turned into bytecode as directly as possible. This greatly decreases the
       maximum memory used for this operation.
     * [d590f25b] Ensure make realclean removes minilua binary
     * [9ef725d5] Always rebuild minilua to work around issue #999
     * [d721125d] Fix MVM_operand_type_mask in lib/MAST. The old mask was not
       extended when unsigned types were added.

   6model:

     * [7ba02259] Correct named argument type tuple index calc. Fixes an
       out-of-bounds memory access. Resolves issue #996
     * [9f19fffa] Add new write_buf repr function to speed up write* ops

   Core:

     * [dcb1dce9] JIT compile param_rp_u
     * [65db5b4d] Implement writeuint op
     * [f6fb4646] Make bytecode dumper more resilient against invalid bytecode

   Docs:

     * [43c5cd4a] Add mul exprjit op to documentation

   JIT:

     * [7a110b71] Add hllboolfor exprjit template
     * [9b2ab169] Add radix_I exprjit template
     * [0accc8ce] Add coerce_* exprjit templates
     * [5167d102] Add extend_{u,i}* exprjit templates
     * [0c2b13a2] Add exprjit integer multiplication op: mul_i
     * [d40bac9f] Use arithmetic right shift in JIT of brshift_i to ensure new
       bits are shifted to match the initial sign bit
     * [9468b7f7] Fix trunc to casting upwards
     * [e7a1330b] JIT compile coerce_us
     * [cfd6c966] Expr JIT template for sp_findmeth
     * [d6ad3117] Expr JIT compile serializetobuf
     * [40a4e375] Expr JIT compile unbox_u
     * [fbdb36d7] JIT compile unbox_u
     * [efff300c] JIT compile remaining extend and trunc ops: extend_{i8,u8,u32}
       and trunc_{i8,u8}
     * [39ded5fe] JIT compile decodertakeallchars
     * [64b44ea0] JIT compile writeint and writeuint
     * [2c4967d1] Teach the lego JIT about coerce_(iu|ui), extend_[ui]16, trunc_u
       (16|32)

   Ops:

     * [6dfa5043] Implement readint, readuint and readnum ops
     * [231cd1a1] New serializetobuf op for assisting bytecode assembly in NQP
     * [07464ae3] Add a writedouble op
     * [311e2683] Add the buffertocu op

   Profiler:

     * [6ff60a3b] Fix "pointer cast size mismatch" warnings on 32-bit arch's to
       resolve issue #444
     * [7aa9500e] Keep track of nativecallcast invokes
     * [cd4f98af] Split "cleared bytes" into managed/unmanaged to prevent
       underflow
     * [add43502] Log parent thread id on thread creation
     * [acb5000b] call node's first entry time should be relative
     * [543f53aa,3eadf765 acb5000b] Expose first entry and start time in profiler
       data

   Spesh:

     * [c933b516] Free spesh log entries after consuming them. Reduces memory
       usage
     * [6236eb5d] Fix a segfault that could occur due to missing Facts
     * [25e7fa48] Teach spesh about known values for PHI nodes
     * [a74af558] output known type's debugname in spesh log
     * [950fb0e1] Unblock optimizing the box_* into a fastbox. Allow box_i to go
       through int cache.
     * [d8065362] decont on nativeref shall become decont_* + box_* to more easily
       get rid of a native ref taking instruction.

   Tooling/Build:

     * [c0799ec1] Include system library paths in Configure.pl if configured to
       use them to fix issue #1000
     * [c130b7cd] Add a --nodelay flag to jit-bisect.pl

   2018.10

   6model:

     * [8501e2e8] Fix off-by-one in multi cache spesh lookup, fixing an issue
       resolving multi's with named arguments
     * [d66206d0] [ConcBlockingQueue] Implement unshift, enabling queue users to
       'jump the line'
     * [a7fa9e6b] save 16 bytes in MVMStaticFrameBody by rearranging struct order
     * [c3527467] Lower unbox of P6[int|num|str]
     * [429139ed,c3527467] Box lowering for P6[int|num|str] to improve NQP
       performance
     * [0c7483b3] Lower box_[ns] with P6opaque removing C call, indirections and
       checks

   Core:

     * [5e1b2554] Optimize bool_I to sp_bool_I
     * [49f1c7bd] Lower add_I, sub_I, and mul_I where possible
     * [663fa2ca] Mark [sp_]speshresolve as :invokish

   Docs:

     * [fcceaabf] Update JIT docs to include new ops

   GC:

     * [9e90cdd6] Don't set ref'd from gen2 flag during GC
     * [2b09f6ec] Immediately promote objects ref'd from gen2 to speed up the
       usage of large or long lived data structures

   IO:

     * [e1eb9af3] Implement async socket introspection functions
     * [a5dd7652] Remove per-thread libuv loop object, which was being used but
       unneeded

   JIT:

     * [32a47383] Fix bug causing sleep op to receive bogus values. Was visible in
       Rakudo when ThreadPoolSchedular was in use, causing high cpu usage even
       when doing nothing
     * [95d22798] Update jit-bisect.pl work in the new Spesh log
     * [58e5161e] Fix legacy JIT of strfromname
     * [8c2dd3ad] Be more silent about internal failures
     * [adef0806] Remove MVM_JIT_BYTECODE_DIR and add MVM_JIT_DUMP_BYTECODE which
       dumps bytecode to /tmp/
     * [80b18871] Remove JIT log file and log to the Spesh log instead
     * [9a1cc175,8c2dd3ad] Make DynASM link errors and JIT unable to get rx pages
       print to STDERR when Spesh log turned on
     * [0554add8] Implement a perf map file on Linux with new environment variable
       MVM_JIT_PERF_MAP

   Math:

     * [8f6b2ac8] Make big Int stringification 1.58x as fast for Ints larger than
       2⁢⁰ (base 10)
     * [ad3a80cb] Fix coredump with mul_I -> div_I ops

   Ops:

     * [abb5c69b] Implement fork op

   Spesh:

     * [4666ff43] Make heap snapshot profiler functional again
     * [597ccb09] Pass on type tuple when inlining unspecialized
     * [1500090a] Optimize ifnonnull branches out if we can determine which way
       they branch
     * [5103e9f8] Simplify/improve optimization of decont
     * [196fa224] Optimize eqaddr into a constant if possible
     * [b2d27cbe] Tear down spesh worker in full_cleanup
     * [8aaf696a] Fix SSA handling of inlinees with multiple return
     * [7ae914b6] Fix and tidy up hllbool specializations
     * [ab2d58eb] Add MVM_spesh_graph_add_comment() allowing to insert arbitrary
       strings into spesh log
     * [50c76e21] Subtract nested inlinees when checking inline size
     * [6147e0e5] Clear up and start improving box optimization
     * [7f0d5327] Fix spesh dump for when inline entirely vanishes
     * [a4b4d837] Optimize "hot" wval lookup into spesh slot access

   Strings:

     * [95d7e63c] Update Unicode Collation data to UCA 11.0
     * [41425c81] Update Unicode data to version 11.0, update grapheme break rules
       for 11.0 changes

   2018.09

   Core:

     * [6edaac44] Add true_value and false_value to HLL config for future hllbool
       op

   Documentation:

     * [156b5bc3] Clarify a few things in bytecode specification
     * [e17a53b8] Update the release guide a bit

   GC:

     * [ccf3dd37] Fix alignment of nursery allocations. Fixes segfaults on armhf

   IO:

     * [51f2db57] Add support in write_fhb op for writing 16 bit VM arrays to a
       filehandle

   JIT:

     * [848f74e3] Add exprjit macros for register type constants
     * [18cb687c] Add ^zero/^one exprjit macros for 0 and 1 integers
     * [398f073b] Add param_sp and hasunipropc exprjit templates
     * [9e0237ed] Add binddynlex exprjit template
     * [3c10d230] Add getarg_* exprjit templates
     * [af6353d3] Add bindlex_n* exprjit templates
     * [9ed59041] Add reprname exprjit template
     * [f43ab19e] Add objprim{bits,unsigned} exprjit templates
     * [722f0939] Add down-cast operations to cast_unsigned_load_addr
     * [891d5c02] Implement truncation via unsigned cast for expr JIT
     * [ef474331] Teach the lego JIT to compile hllbool
     * [c1c2b7e3,c1c2b7e3] JIT compile hllboolfor, hllboolfor
     * [756a97d1] JIT compile hllbool
     * [37a2cd36] Increase array size of args on MVMJitTile struct
     * [9bef425a] Add objprimspec exprjit template
     * [9590c483] Implement cast_load_addr tile for exprjit
     * [6556de6d] Make minor JIT doc changes
     * [17365037] Add a macro for decoder_ensure_decoder and templates for decoder
       <addbytes takebytes takeline empty>
     * [f71f55cf] JIT decoder(empty|takebytes)
     * [c1b7b549] Add paramnamesused exprjit template
     * [f5928803] Add getpid and hintfor exprjit templates
     * [8a70d24d] Add ctx exprjit template
     * [14f6956c] Add existspos exprjit template
     * [77d75210][14f6956c][8a70d24d][f5928803][c1b7b549][9bef425a][f43ab19e]
       [9ed59041][af6353d3][3c10d230][9e0237ed][398f073b] Add unshift_*,
       existspos, ctx, getpid, hintfor, paramnamesused, objprimspec, objprim
       {bits,unsigned}, reprname, bindlex_n*, getarg_*, binddynlex, param_sp and
       hasunipropc exprjit templates
     * [1d4bd3ec] Bind 'let:' declarations eagerly in expr JIT compiler
     * [dc1cc51b] Tighten scope rules for expr JIT compiler
     * [e4542ee1] New template compiler, Single-pass compilation, Better type and
       format checking, a few syntax changes
     * [7567696e] Pass MVMRegister to lexical-binding function for exprjit. This
       accommodates the exprjit templates and allows us to the pass the value
       instead of a pointer.

   Libraries:

     * [73e2f53d] Update libuv to 1.23.0

   Ops:

     * [954bdf88] New hllbool and hllboolfor ops

   Platform:

     * [3abd2888] Throw error on failure in decodelocaltime
     * [a8dfd479] Fix on decodelocaltime on Windows

   Profiler:

     * [bcbe9b20] Pass an array with information on types to profiler

   Spesh:

     * [24860d4c] Let spesh discover the type of hllbool[for]
     * [7c5740fb] Teach spesh to replace hllboolfor by the result for known values
     * [ee0004bf] Teach spesh to replace hllbool by the result for known values
     * [2fb3265a] Fix segfault of native subs with more than 8 arguments
     * [c49fc88a] Fix rw args of JITed calls to JITed native calls
     * [96b88eba] Leak fixes in Spash
     * [b217a115] Destroy inlinee after inlining

   Strings:

     * [3e94a68f] Pass through BOM with utf16le and utf16be
     * [ff750504] Make sure MVM_string_utf16le/be_decodestream are predeclared
     * [ad12d8e4] Fix some bugs with utf16* decodestream get_chars, and retain
       state
     * [792cdd58,ad12d8e4 ff750504 3e94a68f] Add support for utf16le and utf16be
       to decodestream. utf16le and utf16be do not expect a byte order marker and
       will pass them through as Zero Width Non-Break Space per UTF16 spec
     * [ddde0950] Add encode support for utf16le and utf16be
     * [b162c7c4] Add utf16le and utf16be encoding types and implement for buffer
       decode
     * [578c2f76] Add support for utf-16 to decodestream
     * [f06c695a] Make Unicode Block name lookup work for unassigned cp's

   Misc:

     * [652056de] Fix use-after-free in cleanup

   2018.08

   6model:

     * [d4d8ff41] Mark functions used in Perl 6 extops MVM_PUBLIC
     * [4199a956] Enable gc_free of MVMContext
     * [e1df3411] Speedup VMArray zero_slots by using memset instead of a loop
     * [46c08a0e] Fix memory leak in CArray given P6 Str's
     * [ac3d3c76] Fix alignment/mem issue of inlined CArrays
     * [919e78ab] Fix race in setting the type debug name

   Core:

     * [a24033eb] Make coerce_is/us 2x faster by not using snprintf and using
       dedicated integer to string code

   Docs:

     * [73d646c6,210d27ff] Remove outdated mentions of Parrot
     * [411f73fd] [Docs] Add JIT documentation describing how to add a tile
     * [9647c1c4] ExprJIT: Document the conditional dependency check

   Documentation:

     * [8a7da04a] Update garbage collection documentation

   GC:

     * [e766345d] Speed up hash garbage collection by optimizing its gc_mark();
       add new macros
     * [8ac13c29] Optimize VMArray_gc_mark to be a bit faster
     * [7bf4c429] Optimize SCRef_gc_mark by using faster MVM_gc_worklist_add calls
     * [3e91dc62] Fix MVM_GC_DEBUG worklist check for NULL STable
     * [2f36e266] Add branch hint macros to nursery allocation
     * [62a99bcf] Fix segfaults caused by sharing of jitcode in nativeCall repr

   General:

     * [4fa8c855,940c02be,df6271af,b2c8d3ff,2194358c,50262e3c,3da1e5fb] Refactor
       context traversal to better support inlining

   IO:

     * [febffaa2] Expose file descriptors of IO::Socket::INET instances
     * [2e946881] Expose listening host and port in asyncsocket_listen

   JIT:

     * [2249d688] Move lexprimspec to proper emitter getrusage, threadlockcount
     * [9b2008a0] Add exprjit macro to retrieve fields from instance
     * [bc9627ba] Add exprjit macro to determine if vmnull
     * [70624742,33c5840c] Re-add getlexstatic_o and getlex_no exprjit templates
       with minor changes
     * [c3ef58e1] Change ^getf to load in getlexstatic_o template so it only uses
       a single load instruction
     * [0b7f26ce,1ab3b189] JIT-compile sp_speshresolve, JIT neg_I and abs_I
     * [1fe14d3c,bd8361e2] Define ARG5 and ARG6 on Windows since it only has 4
       arguments to functions in general purpose registers
     * [ef41080c] Use '^addrf' macro for setf, getf
     * [8b522291] Remove 'unsafe' templates already in core_templates, these
       templates have working exprjit versions
     * [e242dc8f] Fix unicmp_s expr jit args
     * [7bcef24f] Move label assignment to tiler
     * [922befb2] Move exprjit oplist parser into a module
     * [9b44d481] JIT strfromname in the legacy JIT
     * [30781708] Fix JIT compiled getarg_* reading the wrong register
     * [d19c6608] Unbreak build on architectures where we don't support JIT
       compilation
     * [14bdaea4] Use reference counting for maintaining multiple code copies
     * [various] Add expr templates for eqatic_s, eqatim_s, ordbaseat, uc, lc, tc,
       split, join, getcp_s, indexcp_s, index_s, graphs_s, codes_s, substr_s,
       ordat, chr, getenvhash, backendconfig coerce_si, equaticim_s, unicmp_s,
       indexicim_s, getstrfromname, indexic_s, isinvokable, getlexreldyn,
       objprimunsigned, scgethandle, scobjcount, setobjsc, getcodename,
       captureposarg_i, captureposarg_n, captureposarg_s, knowhow, unbox_s,
       getuniname, ordfirst, repeat_s, haveat_s, getcpbyname, unipropcode,
       unipvalcode, hasuniprop, getuniprop_{int,bool,str}, nativecallbuild,
       nativecallinvoke, nativecallrefresh, threadrun, threadid, threadyield,
       currentthread, lock, unlock, timer, matchuniprop, iscont_i, iscont_n,
       iscont_s, flip, rindexfrom, atpos_n, atpos_s, atkey_i/n/s/u coerce_iu/ui
       decont_u, rand_i, setwho, boot*, iscont, chars, escape, getcodeobj,
       iscoderef, setbuffersize_fh, iscclass, findcclass, findnotcclass,
       nfafromstatelist, nfarunproto, nfarunalt, radix, encode, decode, istrue_s,
       isfalse_s, hlllist, hllhash, settypehll*, hllizefor, exception, newtype
       composetype, bindex*, getex*, backtracestrings, capture, multicache
       setdispatcher, sha1, sc, iscompunit, isnonnull, cancel, signal, watchfile,
       execname, isinvokable, isrwcont, async, asynclisten, getlex_n{i,n,s},
       ctxcallerskipthunks, add_I, fc, encoderep, istty_fh, getport_sk,
       encode*conf, decode*conf, getppid, setdispatcherfor, param_rp_i,
       {add,sub,mul,div,mod}I, {cmp,eq,ne,lt,le,gt,ge}I, {pow,gcd,lcm}I, isprimeI,
       rand_I, expmod_I, bor_I, bxor_I, band_I, bnot_I, blshift_I, brshift_I,
       {isbig,bool,base}I, get*hllsym, print, nullptr, findmeth, cans, connect_sk,
       socket, bind_sk, accept_sk, tell_fh, stat, lstat, getlex{outer,caller}, bit
       {and,or,xor}_s,

   Math:

     * [353940a8,e9b1b73b] Get rid of many unneeded of mallocs in coerce_sI and
       MVM_bigint_to_str()

   Ops:

     * [f1256790,02bddce8] Add a negated object literal spesh plugin guard and JIT
       the object non-match guard
     * [1ed8c64c] Add sp_speshresolve op
     * [ec4c63e0] Mark speshresolve as :noinline
     * [9d4681af] Rename getstrfromname to strfromname

   Other:

     * [e783f567] Unbreak update-changelog.p6 and use new Git::Log module

   Profiler:

     * [69e2a388] Add a few missing allocating ops to profiler

   Spesh:

     * [a75090c6] Lessen the number of spesh threshold levels
     * [b3ce4f6d] Eliminate object non-match guard in many cases
     * [20d44791] Fix guard evaluator attribute handling
     * [9745f921] Add facts to attributes in spesh plugin guards
     * [af455397] Refactor inline logging and detect missed inlines
     * [fa471f1d] Have fact discovery determine usage counts
     * [f59335ea] Attempt inlining so-far unspecialized callees
     * [24d3b5bf,155f1dfb] Fix dump of inlined spesh line/file annotations, update
       deopt logging
     * [5ef61a76] When inlining unspecialized, set arg type facts
     * [4373eecd] Store deopt usage separate from normal usage
     * [caef82f1] Correctly update OSR deopt index upon inlining
     * [26a91852] Mark deopt use of the write of a deopt instruction
     * [3df2ff91] Switch usage handling to new use chain model
     * [f8c4648f] Allow hllboxtype_* across hll in inlines by not using :useshll
       for the ops
     * [3727d18b] Implement box/unbox elimination
     * [13718793] Delete void return instruction when inlining
     * [6e7b215e] Update all of the guard insertion to use the new SSA versioned
       guards
     * [1a22aaa4] Copy facts when splitting SSA versions
     * [1347a94d] Output name and cuuid in spesh slots for code object in Spesh
       dump
     * [37b7c7b7] Discover facts about a bunch of sp_guard ops
     * [0daf99bc] Fix inlining of things with multiple return's
     * [da9123a7] Only mark stolen_deopt_ann_used if it is, to prevent a potential
       crash

   Strings:

     * [3ea8f68d] Use Fibonacci hashing to determine which bucket's to put hash
       value's into
     * [9f005086] Used fixed size allocator for hashes. Nice speedup for table
       expansion
     * [6646038f] Factor out our hashing function and speed up hashing for flat
       strings
     * [0eb25300] Make parse_simple_number impossible to reach end without
       returning
     * [3ef2acf0] Hash: randomize insertion order and bucket iteration order
     * [0e110820] Make a faster HASH_ITER macro and make other hash optimizations
     * [e94d3dfd] Remove previous hash handle pointers in hash implementation
     * [d9a3270a] Implement SipHash, use as our hashing function w/ 64bit hashvals
     * [39a2e71b] Optimize uthash ptr delete code
     * [c5686559] Check if bucket is correct in HASH_FSCK
     * [e3e1d0d0] Use sized types for uthash (instead of using unsigned
       everywhere)
     * [448e75bd] Get the number of bytes to be processed from the current buffer
       and not from the header in MVM_string_utf8_c8_decodestream()
     * [4ec15fc5] Increase the result buffer size for
       MVM_string_utf8_c8_decodestream()
     * [829b8ee7] Fix a regression with grapheme segmentation when multiple
       regional indicators are in the same string

   Tooling/Build:

     * [abf7d0c2] Use clang with OpenBSD since their ancient gcc creates a moar
       which can't generate NQP anymore.
     * [821cfd52] Fix tools/compare-oplist-interp-order.sh on *BSD
     * [888e1cf0] Add script to generate html documentation from docs
     * [33363d32] Make tools/ scripts executable and add shebangs
     * [ecff5b47] Fix NetBSD build failure by adding a missing .h suffix in build/
       Makefile.in
     * [3bf120a1] Fix Configure.pl version detection in some instances
     * [9601ac45] Don't store owner or group in our release's tar archive
     * [5bfad12b] Make update-changelog.p6 interactive
VersionDeltaFile
1.7+8-3devel/MoarVM/PLIST
1.7+5-5devel/MoarVM/distinfo
1.10+2-3devel/MoarVM/Makefile
+15-113 files

UnifiedSplitRaw