./devel/MoarVM, Virtual machine for Rakudo Perl 6

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2018.12, Package name: MoarVM-2018.12, Maintainer: pkgsrc-users

Short for "Metamodel On A Runtime", MoarVM is a virtual machine built
especially for Rakudo Perl 6 and the NQP Compiler Toolchain. The primary
backend target for the Christmas 2015 release of Perl 6, MoarVM stands
out amongst the various Rakudo and NQP compilation targets by:

- Running the Perl 6 specification test suite in the least time
- Passing more of the Perl 6 specification tests than Rakudo Perl 6 on
other backends
- Having the lowest memory usage
- Having the best startup time
- Being fastest to build both NQP and Rakudo - and thus your Perl 6 and
NQP programs too!
- Being the only backend to support strings at grapheme level


Required to run:
[math/ltm] [devel/libffi] [devel/libatomic_ops] [devel/libuv]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: ee7d52d4e5dfbf11b851184871c2e1206d0f2987
RMD160: b3ea183bf0a925e9ce98196a1cddac532e6f73f3
Filesize: 5115.981 KB

Version history: (Expand)


CVS history: (Expand)


   2019-02-16 20:37:48 by Benny Siegert | Files touched by this commit (1)
Log message:
MoarVM: Bump API depends in buildlink3.
   2019-02-16 20:32:12 by Benny Siegert | Files touched by this commit (3) | Package updated
Log message:
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
   2018-10-08 18:54:28 by Maya Rashish | Files touched by this commit (10) | Package updated
Log message:
Update rakudo, nqp, MoarVM to 2018.06

Bumping buildlink3.mk required because the reporter mentions having
to do this because of a time-consuming incompatibility in p6-zip.
Unclear if the packages are independent, so updating together.

No changelog found.

From tomasz motyl in PR pkg/53663
   2018-08-22 11:48:07 by Thomas Klausner | Files touched by this commit (3558)
Log message:
Recursive bump for perl5-5.28.0
   2017-09-26 16:35:46 by Matthew Sporleder | Files touched by this commit (3) | Package updated
Log message:
Update MoarVM to monthly release 2017.09.1 (.1 is a quick patch)

see https://www.moarvm.org/releases.html for notes
   2017-09-17 18:20:55 by Benny Siegert | Files touched by this commit (1)
Log message:
MoarVM uses an executable stack.

Mark as not PaX MPROTECT safe.
   2017-09-16 21:09:53 by Benny Siegert | Files touched by this commit (3) | Package updated
Log message:
Update MoarVM to 2017.07.

This is needed for the current wip/nqp and wip/rakudo.

Changes:
Full Unicode 9.0 and Emoji 4.0 text segmentation support.
Faster normalization, string indexing, and string concatenation.
Collation improvements, including support for reversing any of the levels.
Optional output buffering on file handles.
Numerous tweaks to dynamic optimization and JIT compilation to improve code
quality, with a focus on Perl 6 I/O code.
Asynchronous process handling improvements, including support for retrieving
and plumbing together processes at the file descriptor level.
And numerous other fixes and enhancements.
   2017-06-20 21:06:42 by Benny Siegert | Files touched by this commit (5) | Package updated
Log message:
Update MoarVM to 2017.06. Bump API_DEPENDS too, as functions have been
removed.

2017.06

- Make coerce_s_n work more like the Perl 6 Str.Num method
- Eliminate socket string I/O
- Re-implement synchronous sockets without using libuv, enabling them to
  be passed between threads
- Add ability to get port from already bind-ed socket
- Add cpucores op to get the number of CPU cores
- Fix inconsistency in decode stream take bytes API, so it returns null
  if that number of bytes is not available
- Fix memory leak in syncpipe
- Removed unsed header file in threads.c
- Remove unused args to bind_stdio_handle
- Remove char-level I/O ops and the functions they called
- Remove char-level I/O from synchronous I/O vtables
- Remove unused encoding option in dir handle
- Re-implement print/say debug output ops to encode and then use binary
  I/O
- Eliminate use of libuv in synchronous file handles
- Switch standard handles to use the new synchronous file handle code,
  which means they can now be safely used from multiple threads also
- Remove unused ->filename slot of syncfile
- Debugging aid for introspecting P6opaque objects
- Support merge_bytes in async proc ops, for reading STDOUT and STDERR
  together
- Support binding handles to file descriptors in async procs
- Fix off-by-one in profiler node GC
- Add string eqat/index ignorecase+ignoremark functions
- Add new eqaticim_s and indexicim_s ops ignorecase+ignoremark
- Use norm instead of n for the normalizer variable
- Add improved support for GCB=Prepend
- Improve Regional Indicators support during normalization
- Serialize a Decoder REPR object into null, so incidental file handle
  serialization in Perl 6 does not blow up
- Improve named argument optimization, so we can specialize and throw
  out instructions in more cases
- JIT decodertakeline
- Fix missed opportunity to run JITted code
- Have inline log note what couldn't inline also
- Remove successor when optional named argument is passed, so default
  code can be eliminated
- Flag writers that die when a basic block is eliminated, and disregard
  them in PHI node analysis, provide more precise type information
- Make a basic block elimination pre-pass before the main optimization
  work
- Set dead writer when deleting instructions also, to further aid PHI
  merges
- Track which basic blocks are part of a jump list
- Delete pointless goto instructions (those at the end of a basic block
  that simply go to the next block)
- Remove bad Windows quoting option async proc code
- Actually log inlines to stderr as the comment up top claims
- Make find_separator only look at the last chars, which is far cheaper
- Add help text for environment variables to Configure
- Move NFG initialization into nfg.c
- Cache CRLF grapheme value
- Cache maximum separator length, to save recomputing it for every line
  that is read
- Cache a list of final separator graphemes, for faster stopper
  detection in streaming decoders
- Introduce a max final grapheme codepoint filter, for faster stopper
  detection in streaming decoders
- Add a UTF-8 decoding fast-path that doesn't need to go through the
  full normalizer
- Keep last freed chars buffer handy for re-use in streaming decoder
- Make a smarter guess at decode result buffer size in streaming decoder
- Don't copy when we can steal decoder output, saving a memory copy in
  most line reading operations
- Various micro-optimizations to UTF-8 decoding fast path
- Fix newline translation in various encoding's streaming decoder

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

2017.04

- Shorten the nursery when creating large bigints, to bring GC forward
  and resolve excessive memory use
- Use correct format for repeat/concat errors
- Fix bug in indexic_s if expanding codepoint is the last codepoint
- Special case "\r\n" in MVM_nfg_is_concat_stable for performance
  reasons
- Further optimize MVM_nfg_is_concat_stable to speed up concatenation
- Do not set use rpath if installing into proper system locations
- Optimize passes_quickcheck_and_zero_ccc to be much faster
- Give this_repr constants more meaningful names to aid debugging
- Streamline MVM_bigint_radix and MVM_radix for Nd Unicode #'s
- Fix case-insensitive string compare bug when synthetics are in the
  haystack
- Improve description for "should eventually be unreachable" error
- Correctly detect and handle overflow in mp_get_int64
- Split into mp_get_int64 and mp_get_uint64
- Only allocate and normalize for cp's that require it in
  MVM_string_chr, and short-circuit Unicode property test for codepoints
below 0x300
- Provide a better error when failing to encode surrogates in UTF-8
- Add a cast to suppress a compiler warning in strings/ops.c
- Factor out code from equal_at_ignore_case for use in index_ignore_case
  also
- Use both hex and decimal for UTF8 encoding error messages
- Add parentheses in various places to suppress compiler warnings
- Use PRIu64 in fprintf's to fix compiler warning about incorrect types
- Add a check that introspection->is_tty is not NULL, avoiding a crash
- Mention debug_name in errors about uncomposed repr
- Add new --coverage option for Configure.pl
- First prototype of a per-line coverage reporter, enabled by setting
  MVM_COVERAGE_LOG
- Cope with a native type with no nativesize, but signedness
- Remove two functions in normalize.c that have been superseded
- Give collapse_strands a 5.4% speed boost under some workloads
- Add MVM_string_graphs_nocheck funct, use it in places we previously
  already checked
- Have a two-part loop in collapse strands to make loop tighter when
  possible
- Implement serialize/deserialize in VMHash REPR
- Use memmem in string index. Uses Knuth-Morris-Pratt on glibc, and adds
  the FreeBSD memmem.c for use on Windows
- Fix a join NFG bug when there was an empty string and an empty
  seperator
- Reorder MVMStaticFrameBody to save 16 bytes according to pahole;
  similarly save 16 bytes in MVMCompUnitBody, 24 bytes in MVMJitCode, 8
bytes in MVMIOSyncStreamData, SerializationRoot and SerializationReader
- Remove arbitrary and small length range check for reading bytes from a
  file
- Remove unused defines in threadcontext.h
- Greatly reduce contention in the fixed-size allocator for
  multi-threaded programs, giving up to 40% speedup in some cases
- Add continuous coverage analysis to Travis builds, along with other
  Travis improvements
- Mark thread GC blocked when doing synchronous writes
- Add missing MVMROOT when reading bytes, which could result in
  occasional data loss

2017.03

- Fix some missing variable initializations
- Set effective_handlers in context-only frame
- Streamline code in hash computation, hopefully fixing a Coverity
  warning
- Detect and throw on over-size array
- Put in a limit for codepoints in a grapheme, to avoid various
  overflows
- Fix a missing NULL check at end of profiling
- Panic when a new thread context can't create an uv_loop
- Better handling of out of memory when creating a thread
- Another attempt at silencing the pthread_yield warnings
- Missing GC block marking in event loop starting, fixing a deadlock
- Fix CArray marshalling of type objects
- Provide a way to put Decoder in nl-translate mode
- Ensure Decoder REPR never sees concurrent use
- Debug option to detect concurrent VMArray use
- Encode strings as UTF-8 in MVM_unicode_string_from_name
- Reword exception message for read() outside original thread
- Check that results of repeat/concat fit in an MVMString
- Fix div_i JIT round to negative infinity
- Ignore SIGPIPE by default
- Only start readers if a process spawned OK
- Remove deprecated char-mode async proc reading
- Signal error to stdout/stderr on spawn failure
- Do gen2 sweep before letting stolen threads go, fixing occasional
  SEGVs
- Turn libtommath dependency into a submodule, use a MoarVM fork
- Update libtommath fork to have expmod hang fix
- Change MVM_string_equal_at_ignore_case to use fc
- Fix MVM_string_equal_at_ignore_case when folding the haystack changes
  length
- Mention debug name and REPR name in "requires obj with repr X" errors
- Remove unneeded variable in MVM_string_index
- Add MVM_string_index_ignore_case function and indexic_s op
- A range of improvements to the MoarVM GDB plug-in

2017.02

- Fix format strings that warn during compile
- Implement missing cleanup of async task handles, fixing a memory leak
- Make Unicode sequence and codepoint name lookup case-insensitive
- Add Unicode sequences from NamedSequences.txt in the Unicode database
- Remove second declaration of MVM_frame_destroy
- JIT MVM_radix()
- Make radix and radix_I 50% faster with Unicode Nd
- Add East_Asian_Width prop
- Fix memory leaks in synchronous sockets
- Fix crashes in socket connect error handling
- Don't leak memory in STable repossession
- Missing MVMROOT around a lock acquisition
- Refuse to form an NFA with a zeroed to-state
- Add data section for JIT code, and use it for extop 'fake' registers
- Correct typo in NFG trie node struct name
- Fix overflow in div_i op
- Implement support for synthetic graphemes in
  MVM_unicode_string_compare
- Implement configurable collation_mode for MVM_unicode_string_compare
- Use LDFLAGS in ld invocations
- On Windows, create UTF-8 encoded argv upon program entry
- On Windows, populate environment hash from Unicode environment
- Some additional heuristics to cut down on cross-thread write log
  output
- Fix abs_n op for negative zeros
- Sort out semantics of closed async sockets
- Fix overflow on 32-bit systems in is_full_collection()
- Rename MVMArray file and constant to VMArray
- Remove bogus indication that MoarVM builds on `cygwin`
- Use utf8 for unicode_db files
- Fix invalid read when GC was triggered in the string repeat op
- Don't call MVM_string_graphs twice in indexing op, plus cleanup