Version: 2022.03-bp154.4.26
* Sun Apr 03 2022 nine@detonation.org
- update to version 2022.03
+ Bump mimalloc to v2.0.5
+ The result of a getenv() call should not be freed
+ Some nativeref optimizations and fixes
+ Fix all returned native integers getting treated as signed
+ Fix potential invalid free in nativecall
+ Add missing _u cases to disp program callsite code
+ Correctly allocate/free CStrs when using mimalloc
+ Root orig since MVM_frame_capturelex can allocate
+ Restore jitting of sp_getarg_[inso]
+ Jit even more *_u versions of ops
+ Fix frame walker finding wrong value after multi level inlining
+ Fix spesh of named uint parameters
+ Add an MVM_nativecall_encode_string function
- remove moarvm_wrong_value_after_multi_level_inlining.diff as is
contained in the release
* Sun Mar 27 2022 Stefan Seifert <nine@detonation.org>
- Fix installation on RHEL7
On Redhat based distros, rpm's auto-provides requires shared libs
to be executable.
* Sun Mar 27 2022 Stefan Seifert <nine@detonation.org>
- Fix build on RHEL7 which seems to lack libzstd
* Sun Mar 06 2022 Stefan Seifert <nine@detonation.org>
- Backport fix for issue discovered after release.
Add moarvm_wrong_value_after_multi_level_inlining.diff to be removed
with the next version.
* Thu Feb 24 2022 Andreas Schwab <schwab@suse.de>
- On Factory use system libraries instead of bundled ones: libtommath,
libuv
- Use libffi instead of bundled dyncall
- Use C11 atomics on riscv64 instead of bundled outdated libatomic_ops
- Add libzstd for heap snapshot format version 3
- Build with %{optflags}
* Tue Feb 22 2022 Stefan Seifert <nine@detonation.org>
- Build with --no-mimalloc to work around bugs revealed post-release.
To be removed again with the next version.
- Fix runtime dependencies on s390x on openSUSE Leap
* Mon Feb 21 2022 Stefan Seifert <nine@detonation.org>
- Fix build on s390x by using libffi instead of dyncall on that arch
* Sun Feb 20 2022 nine@detonation.org
- update to version 2022.02
+ Introduce a new generalized dispatch mechanism.
It results in a more uniform architecture for all kinds
of dispatch, delivering better performance on a range of
langauge features. For more information see
https://6guts.wordpress.com/2021/09/29/the-new-moarvm-dispatch-mechanism-is-here/
+ Native unsigned integers are now first class citizens
+ Replace home grown allocator with mimalloc for better performance
+ Improvements to the debugger
+ Many newly JITed instructions
+ Fix finalizers of gen2 objects rarely getting run
+ Fix segfaults in nqp::hllboolfor, after capture-replace-literal-arg with different kind, when
a frame has more than 8192 locals, due to race condition when initializing native call sites, due
to out of bounds read of PHI facts in spesh, due to uninitialized register after PEA and inlining
+ Fix possible access to fromspace after deopt materialization, when autoboxing return values and
in NativeCall callbacks
+ Fix a bug in `report_deserialize_callsites_violation`
+ Negative numbers should not be prime
+ Avoid thread safety issues in intern lookups
+ Close socket on async error during an async connection
+ Use callp instead of call in jit of new(mixin)type
+ Fix JITed return from nested runloops
+ Fix invalid pred chain caused by MVM_spesh_manipulate_split_BB_at
+ Stream Decoder: Disallow incomplete code at EOF
+ Respect `--full-cleanup` in `nqp::exit`
+ Many optimizations and performance improvements
- Remove moarvm-fix-memory-leak.diff as fix has been upstreamed
- Remove moarvm-fix-segfaults-in-native-callbacks.diff as fix has been upstreamed
* Sat Aug 28 2021 Stefan Seifert <nine@detonation.org>
- Backport a fix for segfaults in NativeCall callbacks from moarvm master
Add moarvm-fix-segfaults-in-native-callbacks.diff to be removed on the next release
* Fri Aug 27 2021 Stefan Seifert <nine@detonation.org>
- Backport a memory leak fix from moarvm master
Add moarvm-fix-memory-leak.diff to be removed on the next release
* Sun Aug 22 2021 nine@detonation.org
- update to version 2021.08
+ Fix another bug in `MVM_str_hash_fsck`
+ Free filename if exception when loading bytecode
+ Switch `MVM_coerce_n_s` to Ryƫ from Grisu3 with a `sprintf` fallback
+ Add JIT templates for `(bind|get)attr(s)?_*`
+ Fix deadlock by untimely GC in multi-threaded programs
+ Fix spesh optimizing away still needed label register
* Sat Jul 24 2021 nine@detonation.org
- update to version 2021.07
+ Fix "Collectable in a gen2 freelist accessed" when deserializing a method cache
+ Fix possible acces to a freed SC during deserialization
+ Convert more realloc+memset(0) to recalloc
+ Fix some bugs in the various `hash_fsck` functions
+ Fix read buffer overflow in bytecode dumper
+ Fix overflows on slight reallocations of fixed size alloced buffers
+ Fix error handling of mkdir
+ Assign the result of a socket(2) call immediately
+ Fix memory corruption by accessing freed spesh stats
+ Fix ShiftJIS decoder bug where a replacement is used
and a decoding error is encountered after '\r' character
* Sat Jul 10 2021 nine@detonation.org
- update to version 2021.06
+ Set sc.idx during deserialization to avoid costly lookup later
+ Try to trap concurrent hash accesses
+ Fix a case of heap-use-after-free rarely affecting `t/spec/S17-promise/nonblocking-await.t`
* Mon May 24 2021 Stefan Seifert <nine@detonation.org>
- Forward port reproducible.patch after build system changes
* Mon May 24 2021 nine@detonation.org
- update to version 2021.05
+ No longer require an exception as argument of nqp::backtrace
+ Remove nqp::time_i and nqp::time_n in favor of nqp:time which just return integer nanoseconds since the epoch
+ Deprecate now unused graphs_s operator
+ Eliminate the sec_n, asec_n and sech_h operators, which are no longer used
+ Prohibit hllbool when the HLL doesn't have special booleans
+ Add a setup_notify handler and queue to nqp::signal to avoid race conditions when setting up a signal handler
+ Fix getobjsc returning NULL when the object has no SC
+ Always log the type coming out of an nqp::decont
+ Make smrt_intify specializable like other smrt_* operators
+ More thorough --full-cleanup
+ Do not downcast bytes argument to write()/send() calls
+ Fix spesh missing writes to containers
+ Fix missing gc_mark of simstackframe's arg_types
+ Propagate spesh facts after optimizations
+ Fix getting garbage numbers after spesh optimized away smart_intify
+ Fix inlines missing synthetic deopt points
+ Constrain C pointer serialization to sizes <= INT32_MAX
+ Fix possible GC upset caused by half-deserialized STables
+ Use the FSA for MVMActiveHandlers
+ Fix a segfault in VMArray's copy_elems
+ Fix a segfault on trying to use an untyped array with buffer write functions
+ Fixing generated backtraces missing inlined frames
+ Save a malloc+free per frame when creating a Backtrace object
+ Fix a memory leak related to Unicode hashes
+ Only call MVM_jit_bytecode_dump_enabled if code is non-NULL
+ Fix JITed ordfirst/ordat/ordbaseat returning 4294967295 instead of -1
+ Fix expr JITed ordbaseat and getcpbyname returning 4294967295 instead of -1
+ Fix spesh removing not-really-dead code
+ Fix possible segfault on exit when using spesh log
* Sun Mar 21 2021 nine@detonation.org
- update to version 2021.03
+ Improve serialization of C types
+ Introduce `platform/socket.h`
+ Fix confused profiler output in multi-threaded apps
* Sun Feb 21 2021 nine@detonation.org
- update to version 2021.02
+ Introduce new hash implementation based on Robin Hood Hash
+ Fixed serveral memory leaks
+ Fixed several segfaults
+ Improvements to the debug server
+ Fix MVM_file_isexecutable() when being root
+ Give io loop thread and spesh thread a name
+ Several improvements to spesh
+ Introduce the setthreadname op
+ Fix case insensitive string matching with an empty string
+ Fix CStruct handling of inlined attributes
+ Don't obliterate lib_name in exception text of NativeCall
+ Allow for explicitly marking the mainline_frame in the bytecode
+ Possibly fix MVM_panic from entering GC during spesh
+ Fix some possible double frees
+ Add methods WHICH and raku to MAST::Frame for easier debugging
+ JIT compile some more ops
* Wed May 13 2020 nine@detonation.org
- update to version 2020.05
+ Use the FSA for ConcBlockingQueue
+ Use memcpy instead of strncpy
+ Fix some compiler warnings
+ Fix numerous very rare but possible GC bugs
+ Align offsets in P6opaque.c
+ Don't null-terminate string when stringifying int
+ Improve handling of errors in native callbacks
+ Use smaller buffer for native int to str coercion
+ Fix deadlock when trying to report an unsupported NativeCall return type
+ Improve memory usage of utf8-c8 encoding
+ Make profiling more stable, resolving potential panics
+ Add more ops to be profiled for allocations
+ Give MVMSpeshAnn an "order" field to improve diagnostic output
+ Let encode take a preallocated buffer
+ Fix a tiny mistake in containers implementation
+ Add a value_desc_cont container descriptor, which brings the needs of Rakudo's Scalar into the VM
+ Fix invalid reads when freeing native callback cache
+ Implement calculation of unmanaged size for CArray
+ Bounds check codepoint passed to chr
+ Add missing args spesh coercion validation
+ Make OSR work in frames from invokewithcapture
+ JIT nextdispatcherfor
+ Update libuv to version 1.35.0
+ Fix segfaults in MVM_spesh_plugin_guard_list_mark, in profiler and the JIT compiler
+ Fix various memory leaks, mostly relevant to running with --full-cleanup
* Tue Mar 03 2020 nine@detonation.org
- update to version 2020.02
+ [ca2a4c4c5] Resolve hostnames given a socket type, protocol, and passivity
+ [d606d9112,b1ff3d826,cf44a3686,cf44a3686,7920f2cc4,cfecd54bd,82f2719ce,e9a63e03f,296bedfa6,
3bbab8c4b,f56248139,5a2f4ed47,056c523db,192f0433c] Switch our libtommath to upstream's 1.2.0
+ [17935040a,1fbbb9335,a51428429,7877b0376,e67022405,10f98288c,f32b383cc,76d34faf1,d9c087f36]
Handle return values from libtommath functions
+ [1d80b6038] Fixes for MVM_bigint_pow
+ [dfdaf19a8] Use right size+sign in comparison in MVM_bigint_rand
+ [9709537d9] Serialize the names of closures
+ [f47f53110] Update libuv to version 1.34.2
+ [0814ab4d8] Negative numbers should not be prime
+ [2296bcaed] New libtommath that builds bn_mp_set_double.c...
+ [4d7c7e142] Clear callsite of bottom frame when uninlining
+ [657b536cf,2cc4d3027] Update dyncall submodule
+ [978480b28] Mark cmp_tc static to avoid linker errors
+ [a71eee4c2] Allow closing handle bound to async proc stdin
+ [dd20883c3] Align MVM_args_get_required_pos_num with what the JIT actually expects
* Thu Jan 23 2020 nine@detonation.org
- update to version 2020.01.1
+ [105d09d62] Fix NativeCall libraries losing state during repossession
+ [7b8ed6308,a3ec7f315,921c8de84,9d053b8e9,8ac8afcc2,611532317,0995f19b9,fce208cb1,72941ee22,
9166ea591,61ac671ea] Fix several more compiler warnings
- Remove moarvm-fix-segfaults-in-openssl.diff as the issue has been fixed upstream
Version: 2018.04.1-bp150.2.3
* Tue May 01 2018 nine@detonation.org
- update to version 2018.04.1
+ Fix precision in Num and use Grisu3 algorithm for stringification
+ Use vectorization to speed up many string operations
+ Add support for the windows-932 variant of the ShiftJIS encoding
+ Fix bug in windows-1252 when a replacement occurs in the last position of the input stream
+ JIT expr templates for getstringfrom and getwvalfrom
+ JIT floor_n, continuationinvoke, ctx and a few ops that ThreadPoolScheduler uses
+ Measure and report time spent on JIT compilation
+ Ensure memory blocks in the nursery are aligned where necessary
+ Spot use of an item already put in a gen2 freelist
+ Suspend other threads during global destruction
+ Fix missing GC mark of deserializer contexts list
+ Optimize getrusage and log it in the profile
+ Add getsignals op, queries for valid signals
+ Guard against negative and zero signals in MVM_io_signal_handle
+ Make tryfindmeth not throw in some cases it did
+ Add missing write barrier enforcement in CPPStruct, CStruct
+ Use Fixed Size Allocator for all_scs list
+ Fix segfault on concurrent array access while resizing
+ Mark thread blocked around getaddrinfo
+ Convey the process ID of a started child
+ Fix optimization of wvals
+ Fix negated spesh of known type
+ Add optimize_unbox
+ Fix issues with optimization of boolean tests
+ Insert null-out-instructions before prof_enter
+ Cut module names out of filenames
+ Add metadata for ReentrantMutex and Semaphore
+ Fix loading bytecode on big endian systems
+ Correct lazy static lexical deserialization
+ Fix bytecodedump to understand inlines
* Tue Mar 20 2018 nine@detonation.org
- update to version 2018.03
+ Add remote debugging support, optionally enabled with the --debug-port option
+ Add getppid op. Allows a child process to get the parent process id, and thus
+ Use uv_fs_copyfile API in MVM_file_copy
+ Make IO signal handlers cancellable
+ Add an tryfindmethod op which evaluates to null in the event that the method
+ Ignore libuv-caused "fake" empty datagrams
+ Expose both hostname and port of received datagrams
+ Add proper support for strict decoding and replacements in decodestream for windows1252/1
+ Add some string consts in MVMStringConsts for MVMDecodeStream
+ optimize eq_s and ne_s against empty string in spesh
+ Bump libuv version 1.19.2
+ Add JIT templates for more than 50 ops
+ Fix several bugs in the expr JIT compiler
+ Only BAIL on DEOPT_ONE annotations on actual guard ops in expr JIT
+ Support for threaded profiling has been added, although it is not fully stable yet
+ Clean up one-shot timers after firing
+ Fix missing argument to syncsocket error message
+ Fix EOF detection on zero-size files
+ Add windows-1251 (Cyrillic) decode/encode support
+ Make MVM_spesh_manipulate_remove_handler_successors() public
+ Fix MVM_spesh_log_decont not logging anything
+ Don't spesh log if we have a spesh_cand
+ Don't optimize getattr unless known concrete
+ Implement unmanaged_size in MVMSpeshLog repr
+ Run basic facts discovery on inlined code
+ Clean up handler successors after throwish ops become non-throwing
+ Put inlined blocks between their caller and its successor
+ Fix an off-by-one in uninline
+ Remove superfluous DEOPT_ONE_INS annotation on some deconts
+ Work around a segfault caused by type tuple without type information
+ Revive removal of dead instructions after the first inlined function
+ Fix SEGV when opening MVM_*_LOG files
+ Better error in boxed ref for repr_id mismatch
+ Merge non-control-flow basic blocks so expr JIT has more code to optimize
* Thu Feb 01 2018 nine@detonation.org
- update to version 2018.01
+ Faster string searching and other string improvements
+ New expression JIT
+ JIT compilation of native calls
+ Update Unicode database for Unicode 10
+ Flush standard handles at exit
+ Flush output buffer where needed
+ Various improvements to spesh
+ Lots of bug fixes
* Mon Aug 21 2017 nine@detonation.org
- update to version 2017.08.1
+ Dynamic optimization moved to a worker thread
+ New statistics model for making better specialization decisions
+ New argument guard, based around a tree, which means less checks need to be
+ More efficient usage of memory in hot paths
+ Lots of bug fixes (around optimization and string handling)
+ JIT improvements
+ Performance improvements
+ Make precompiled byte code reproducible
+ Enable native callbacks on different threads
+ Update TinyMT to version 1.1
+ Implement atomic ops
+ Add nqp::coveragecontrol op
* Sat Jul 29 2017 nine@detonation.org
- update to version 2017.07
+ Full Unicode 9.0 and Emoji 4.0 text segmentation support
+ Lots of speed-ups, especially in string processing and JIT compiler
+ Numerous bug fixes
+ Remove support for character level I/O - taken over by high level code
+ Remove arbitrary string repeat limit
+ Remove synchronous process support - now done using async code
+ Re-implement synchronous sockets without using libuv
+ Add ability to get port from already bind-ed socket
+ Add cpucores op to get the number of CPU cores
+ Re-implement print/say debug output ops to encode and then use binary I/O
+ Eliminate use of libuv in synchronous file handles
+ Support merge_bytes in async proc ops, for reading STDOUT and STDERR
+ Support binding handles to file descriptors in async procs
+ Add string eqat/index ignorecase+ignoremark functions
+ Add new eqaticim_s and indexicim_s ops ignorecase+ignoremark
+ Add improved support for GCB=Prepend
+ Improve Regional Indicators support during normalization
+ Serialize a Decoder REPR object into null, so incidental file handle
+ Fix newline translation in various encoding's streaming decoder
* Wed Jun 07 2017 nine@detonation.org
- Explicitly state build requirement to fix build on Fedora
* Fri Jun 02 2017 nine@detonation.org
- update to version 2017.05
+ Mark profiler call graphs iteratively instead of recursively
+ Keep around line number annotations in spesh, for more accurate source
+ Introduce "telemeh", a high-precision-time low-impact logger
+ Fix error reporting in chdir
+ Fix memory leak on error in chdir
+ 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
* Tue Apr 18 2017 nine@detonation.org
- update to version 2017.04
+ Shorten the nursery when creating large bigints, to bring GC forward and
+ Use correct format for repeat/concat errors
+ Fix bug in indexic_s if expanding codepoint is the last codepoint
+ Speed up MVM_nfg_is_concat_stable
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ Remove arbitrary and small length range check for reading bytes from a file
+ Greatly reduce contention in the fixed-size allocator for multi-threaded
+ Mark thread GC blocked when doing synchronous writes
+ Add missing MVMROOT when reading bytes, which could result in occasional
- Remove moarvm-remove-rpath.diff as the issue has been fixed upstream.
* Sun Mar 19 2017 nine@detonation.org
- update to version 2017.03
+ Fix loads of performance and stability issues
* Sun Dec 18 2016 nine@detonation.org
- remove use of rpath in build
Patch is already included in upstream git and can be removed in the next
release.
new patch: moarvm-remove-rpath.diff
* Sun Dec 18 2016 nine@detonation.org
- replace patching in spec file by use of proper configure options
- update to version 2016.12
+ Decode Latin-1 and UTF-8 strings to 8-bit width when possible
+ Teach a few string functions to compress results into 8-bit storage
+ Fix for AIX's INFINITY not being a constant
+ Unlink libmoar before (re)installing it
+ Add configuration for AIX
+ Support Perl older than 5.10 for Configure.pl
+ Use "pkgconfig --libs libffi" additionally to --cflags
+ Fix powerpc detection on AIX (gcc)
+ Make multidim error messages say they are multidim
+ Add comment about where to find UNIDATA
+ Implement captureinnerlex op, for fixing QUIT/LAST phaser scoping in Perl 6
+ Fix mis-sized free in the NFG trie that only showed up in 32-bit
+ Add GC debug helper to "find" a pointer in nurseries/gen2 bins
+ Make ASSERT_NOT_FROMSPACE check fromspaces of all threads
+ Fix missing MVMROOT around an allocation
+ Fix typo in nfg.h comment
+ Fix native callback and GC interaction when embedded
+ Add GC block management functions to the public API
+ Mark throwpayload* as :throwish in oplist
+ Optimize the check for negative bignums
+ Remove useless mp_neg calls
+ Fix premature free of UV socket handles
+ Fix premature handle free in async UDP sockets
+ Add a "check every register access" GC debug mode
+ Provide a #define to disable dynlex caching
+ Provide a #define for deopt logging
+ Invalidate dynlex caches during deopt
+ Fix pow_I when it takes an exponent larger than 2**32
+ Only do MVM_ASSERT_NOT_FROMSPACE in GC debug mode
+ Add a fromspace assertion in finalize
+ Avoid a number of spesh GC invariant violations
+ Panic if we try to GC when speshing/JITing
+ Ensure we don't leak partially deserialized objects
+ Fix unrooted frame around SC object lookup
+ Remove some GC debug code
+ Avoid reading nativerefs in spesh, since it can cause boxing and thus GC
+ Cope with push being used on concurrent queues
+ MVMROOT around putting work on concurrent queue
+ MVMROOT eventloop queue when polling it
+ Do MVM_ASSIGN_REF after block/unblock in concurrent queue
+ Fix more unrooted frame around SC object lookup
* Thu Nov 24 2016 nine@detonation.org
- update to version 2016.11
+ Workaround tommath issue #56 which affects random bigint numbers > 32 bits
+ Fix memory leaks in nqp_nfa_run
+ Fix a sizeof arg that allocated a much-too-big buffer for callsite arg names
+ Add missing breaks in MVMString's copy_to
+ Prevent null deref when calling MVM_string_utf16_encode
+ Introduce MVM_SPESH_LIMIT, which limits how many specializations will be
+ Make sure we never box a NULL filename when creating backtraces
+ Fix the nativecall attribute error messages
+ Remove (non-existent) num16 from error message
+ Make the fixed size allocator provide useful information to Valgrind
+ Implement serialization of SCRef
+ Include file/line of unserializable closure, to aid debugging
+ Add type info when failing to bind an attribute
+ Use ffi_arg type for libffi nativecall return types
+ Handle libffi return type more correctly
+ Work around missing libatomic_ops prototype on s390x
+ Panic when trying to GC a locked mutex
+ Make VM panic output state that a panic occurred
+ Fix JIT code generation bug in nqp::exception
+ Add missing rooting of value pushed to concurrent queue
+ Add src/gc/debug.h dependency to Makefile
+ Mark a thread GC-blocked while it is in native code
+ Have "Cannot * a type object" also outputs the type's debug name
+ Don't reveal partially deserialized method cache
+ Give a bunch of exception ops REPR and debug name output
+ Prevent segfault when null string used as hash key
+ Request POSIX.1.c compliance on solaris
+ Change to use readdir insteal of readdir_r
+ give diagnostic output when compiling fails
+ Fixed readdir so it won't check old errno
+ Refactor hashes to no longer need to flatten ropes in string keys
+ Save 8 (64-bit) or 4 (32-bit) bytes per entry in the MVMHash REPR
+ Remove the deprecated flattenropes op
+ Remove now-unused MVM_string_flatten function
+ Don't treat an nread of 0 in libuv read callbacks as an error
+ Bump to latest libatomic_ops
* Sun Oct 16 2016 nine@detonation.org
- update to version 2016.10
+ Fix build without libtommath source
+ Make MVM_file_open_fh() throw if the file we opened was a directory
+ Fix bug and memory leaks in MVM_file_open_fh()
+ Add error message for likely MacOS build failure
+ Don't set inheriting process on inherited pipe, fixing a segfault
+ Update to the Unicode 9 database
+ Die on CStruct without any fields
+ Constant-fold unipropcode and unipvalcode
+ Use PRId64 instead of %d for 64 bit int format string args
+ "Cannot unbox type object" error gets debugname and native type info
+ Fix uninitialized arg_names of an MVMCallsite
+ Handle C++ constructors on libffi
+ Fix CUnion get_attribute treating inlined attrs as pointers
+ Fix 32 bit issue with rw args in NativeCall callbacks
+ Use better throw-away type for void nativecalls
+ Gracefully handle a 0 RSS reported by the Linux kernel
+ Fix "Invalid free()" in empty repossessed arrays
+ Make sure we mean "signed char" when we say "char"
+ Fix calculating structure sizes for arm64 and others
+ Disable JIT on x32, since it has a different calling convention
+ Fix pointer size unit in configure message
+ Use set_uint64 in from_num, otherwise we overflow on x32
+ Rewrite mkdir_p api, no function changes
+ Improve nativecall attribute error messages
+ Include debug_name in crossthreadwritelog and serialization errors
+ Deprecate async string I/O ops
+ Deprecate flattenropes op
+ Implement indexingoptimized op (replaces flattenropes, but is not in-place)
+ Fix memory leadk in ord_basechar_at
+ Ensure errno is grabbed before MVM_free is called
+ Make extra sure unlock only happens if lock happened
* Fri Sep 30 2016 nine@detonation.org
- update to 2016.09
+ Fix various crasher bugs
+ Fix sprintf
+ Move string decoding to higher levels of the stack
+ Fix a couple of memory leaks
+ Fix deadlocks when accepting a socket
* Sun Aug 21 2016 nine@detonation.org
- update to 2016.08
+ Fix various concurrency issues
+ Don't crash in P6opaque on NULL name_to_index_mapping
+ Fix off-by-one in grapheme iterator
+ Add a flag for PIPE_MERGED_OUT_ERR; fix stdio setup for merge
+ Fix EOF detection when reading files from /proc and similar
+ Fix lost socket listen errors
+ Add some missing fact dependencies in spesh, fixing some wrong guard eliminations
+ Avoid use of possibly-invalidated decont facts in spesh
+ Remove keep_caller from MVMFrame
+ Correctly NULL-terminate the buffer in MVM_vm_dump_file
* Sun Jul 24 2016 nine@detonation.org
- update to 2016.07
* Numerous fixes for memory leaks
* Numerous performance improvements
* Fixes for NativeCall
* Updates to moar-gdb.py (MoarVM GDB plug-in)
* New heap profiler
* JIT compile more code paths
* Make the GC smarter
* Fixes for UTF8-C8 encoding and use it for directory listing
* Fixe a couple of SEGVs
* Further support for function pointers in native calling
* Implement loadbytecodebuffer and loadbytecodefh ops
* New multi-dispatch cache supporting calls with named parameters
* Fri Jan 29 2016 nine@detonation.org
- update to 2016.01
* Only optimize istrue to unbox_i when known concrete
* Bump libuv to 1.8
* Various fixes/updates to graph_spesh.p6
* Don't install sha1 and tinymt headers; they're only used internally
* Only install msinttypes on MS platform
* Fix a gc bug in string concatenation
* Add subsecond file time ops stat_time and lstat_time
* Fix stat CREATETIME return value
* Note graphs_s will be deprecated; dupe of chars
* Mon Jan 04 2016 nine@detonation.org
- update to 2015.12
* support for multidimensional arrays
* updated to Unicode 8 and lots of Unicode fixes
* C++ support for native calling
* proper support for unsigned native types
* threading fixes
* memory leak fixes
* Thu Jun 11 2015 mls@suse.de
- update to 2015.05
* instrumenting profiler
* many optimizations
* added documentation
* large file handling
* endian fixes
* lazy deserialization
* implement NFC/NFD/NFKC/NFKD Unicode normalization algorithms
* fix various memory leaks
- fix setup
* Fri Aug 22 2014 mls@suse.de
- update to 2014.08
* support for JIT
* specializer support
* async read/write
* lots of bugfixes