Changelog for
moarvm-devel-2018.12-43.5.x86_64.rpm :
* Fri Dec 28 2018 nineAATTdetonation.org- update to version 2018.12 + New (read|write)(u?int|num) ops for handling binary data + Replace MAST compiler by NQP code for writing bytecode + Fix repossessions that cause object size \"changes\" + Fix memory leak of MVMFrameExtra + Free spesh log entries after consuming them. Reduces memory usage + Add a cancel handler for filewatch tasks to prevent leaking + Fix double free in platform/sys.c + Fix \"pointer cast size mismatch\" warnings on 32-bit arch\'s to resolve issue #444 + Correctness improvements to the profiler + Fix a segfault that could occur due to missing Facts + Teach spesh about known values for PHI nodes + Unblock optimizing the box_
* into a fastbox. Allow box_i to go through int cache. + decont on nativeref shall become decont_
* + box_
* to more easily + Improved spesh log output + Improve handling of failure to join a thread, throw instead of + Use larger buffer for gethostname when available + Reimplement async socket introspection + Set callsite in frame for JIT spesh plugin resolve. + Discover type Facts of coerce_sI op + Fix a case where the UTF-16 decoder would have a corrupted final + Correct named argument type tuple index calc. Fixes memory access + Make bytecode dumper more resilient against invalid bytecode + Expr JIT templates for hllboolfor, radix_I, coerce_
*, extend_{u,i}
*, mul_i, sp_findmeth, serializetobuf, unbox_u + Use arithmetic right shift in JIT of brshift_i to ensure new bits + Fix trunc to casting upwards + JIT compile coerce_sI, param_rp_u, coerce_us, unbox_u, extend_{i8,u8,u32} and trunc_{i8,u8}, decodertakeallchars, writeint, writeuint, coerce_(iu|ui), extend_[ui]16, trunc_u(16|32)
* Sun Nov 11 2018 nineAATTdetonation.org- update to version 2018.10 + Improved performance and randomization of hashes + Speed up various string operations + Various Unicode fixes + Improves support for native ints and unsigned ints + Atomic ops for object attributes + Improvements to debugserver + Improvements to the JIT compiler + Plugin infrastructure for spesh + Fixes to memory leaks + Sort hashes before serialization for more reproducible builds + Implement one dimensional inlined shaped CArrays + Lots of small fixes and performance improvements
* Mon Jul 30 2018 bwiedemannAATTsuse.com- Add reproducible.patch to make build independent of build system CPU type (boo#1100677)
* Tue May 01 2018 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.org- Explicitly state build requirement to fix build on Fedora
* Fri Jun 02 2017 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.org- update to version 2017.03 + Fix loads of performance and stability issues
* Sun Dec 18 2016 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.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 nineAATTdetonation.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 mlsAATTsuse.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