--- - branch: MAIN date: Tue Jun 20 19:06:42 UTC 2017 files: - new: '1.4' old: '1.3' path: pkgsrc/devel/MoarVM/Makefile pathrev: pkgsrc/devel/MoarVM/Makefile@1.4 type: modified - new: '1.3' old: '1.2' path: pkgsrc/devel/MoarVM/PLIST pathrev: pkgsrc/devel/MoarVM/PLIST@1.3 type: modified - new: '1.3' old: '1.2' path: pkgsrc/devel/MoarVM/distinfo pathrev: pkgsrc/devel/MoarVM/distinfo@1.3 type: modified - new: '1.2' old: '1.1' path: pkgsrc/devel/MoarVM/buildlink3.mk pathrev: pkgsrc/devel/MoarVM/buildlink3.mk@1.2 type: modified - new: '0' old: '1.2' path: pkgsrc/devel/MoarVM/patches/patch-build_probe.pm pathrev: pkgsrc/devel/MoarVM/patches/patch-build_probe.pm@0 type: deleted id: 20170620T190642Z.4d7d803308644e09851a511ffddad6f748fe4aaa log: | 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 module: pkgsrc subject: 'CVS commit: pkgsrc/devel/MoarVM' unixtime: '1497985602' user: bsiegert