[BACK]Return to distinfo CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / devel / MoarVM

File: [cvs.NetBSD.org] / pkgsrc / devel / MoarVM / distinfo (download)

Revision 1.7, Sat Feb 16 19:32:12 2019 UTC (5 weeks ago) by bsiegert
Branch: MAIN
CVS Tags: HEAD
Changes since 1.6: +5 -5 lines

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

$NetBSD: distinfo,v 1.7 2019/02/16 19:32:12 bsiegert Exp $

SHA1 (MoarVM-2018.12.tar.gz) = ee7d52d4e5dfbf11b851184871c2e1206d0f2987
RMD160 (MoarVM-2018.12.tar.gz) = b3ea183bf0a925e9ce98196a1cddac532e6f73f3
SHA512 (MoarVM-2018.12.tar.gz) = b55efc942a581e1d14a571b44a58a76e18f01ca1fabb4c68476003bb42fd4f3663fd532e75814cad6f7b1e1cf5562fe6b1aa68b956c1d8e6769e9dc1bce2b0a7
Size (MoarVM-2018.12.tar.gz) = 5238765 bytes
SHA1 (patch-build_setup.pm) = fd53d47bd3126b2c89d4e8d82c6bc0b6db5f4fdf