pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/devel/MoarVM Update MoarVM to 2017.01.
details: https://anonhg.NetBSD.org/pkgsrc/rev/2be2f40ba15a
branches: trunk
changeset: 358114:2be2f40ba15a
user: bsiegert <bsiegert%pkgsrc.org@localhost>
date: Sun Feb 05 12:36:59 2017 +0000
description:
Update MoarVM to 2017.01.
2016.04
- Implement heap snapshots support, exposed through the profiling API
- Don't mark tc->cur_frame twice during GC
- Move thread object mark into thread root mark, removing a special case in the
main collector
- Add API for adding a permanent root together with a description
- Mark thread blocked for GC when doing synchronous reads
- Make MVM_bigint_from_num jit-friendly
- JIT coerce_nI as a call to bigint_from_num
- Set debug_name on a few more built-in types
- Add REPR API for getting unmanaged size, implement it for many REPRs
- Fix compile on FreeBSD 9
- Handle single-char build directory names by changing capture to lookahead
- Fix performance of reading very long lines
- Fix utf8-c8 decode crash caused by off-by-1
- Fix a full vs. partial collection detection bug
- Factor unmanaged size into promoted bytes
- Enhance scheme for deciding when to do a full collect
- Bail out if HLL name string index is invalid in bytecode unpack
- Don't try to set flags beyond num_lexicals when reading in call frames
- Adjust byte count when UTF-16 BOM marker consumed
- Fix buffer overrun in utf8-c8 decoding
- Initialize object registers with VMNull when allocating frames, to avoid a
number of possible segfaults
- Fix incorrect boolification of "" under mode MODE_UNBOX_STR_NOT_EMPTY_OR_ZERO
- Utilize debug_name in nativecall error messages
2016.05
- Use MSVC-provided stdint.h and inttypes.h when possible
- Improved various error messages to include the debug type name
- Eliminate call frame reference counts, instead using a linear call stack for
frames that never become heap-referenced and using the garbage collector to
manage those that do
- Tune number of gen2 sized bins
- Improve error reporting in P6opaque's compose function
- Improved GC debugging support to catch more problems
- Fix a race between serialization context resolution and garbage collection
- Add a missing MVMROOT in shell/spawn
- Fix segfault when trying to serialize an uncomposed P6opaque type
- Update the build system to autodetect system provided libs
- Add missing rooting, since the instrumentation level barrier may allocate
- Fix cleanup of temp roots at thread exit
- Add missing rooting of exception message in `die`
- Fix CUnion layout computation GC issues
- Fix data race in clearing of "in inter-gen set" flag
- Various improvements and fixes to the spesh_graph tool
- Add missing optimization of decont_s and decont_u ops
- Eliminate duplicate MVMContext creation code
- Fix full cleanup crash: the NFG uses the FSA, so have to destroy NFG first
- Close dynvar log filehandle in instance destroy
- Clean up cross-thread write logging mutex
- Free debug names in STables
- Free the string_heap_fast_table in CompUnit bodies
- Free permroot descriptions
- Free thread's finalization queue in tc destruction
- Add docs about MVMROOT
- Fix crash when GCing an ended thread
- Implement loadbytecodebuffer and loadbytecodefh ops
- Speed up initialization of non-specialized frames
- Use varints to make serialization of various integers more compact, reducing
size of compiled output
- Ensure we always produce at least one snapshot when heap profiling
- Remove debug output when taking heap snapshots
2016.06
- Serialize the HLL role field of STables
- Avoid VMNull setup memcpy/loop in specialized frame initialization
- Stop caching MVMContext on a frame
- Use frames directly when serializing closures, rather than having to create
an MVMContext wrapper for every one
- Write SC index when deserializing, repossessing, and preparing to serialize,
saving a huge amount of linear scanning
- Only used cached SC index if SC itself matches
- Remove an unrequired memset to clear the args buffer
- Inline args preparation into interpreter, and JIT it directly instead of
making a call to a tiny function
- Mark getlexcaller as :noinline
- Don't lose handlers during multi-level inlines
- Eliminate loop in P6opaque's get_boxed_ref function, decreasing cost
- Implement payload throw/handler support
- Implement callerlex throwing mode
- Make moar-gdb.py source-able, instead of only autoloadable
- Fix inlining causing wrong lexical handler lookup
- Make build in dir containing space work
- Allow HLL handler for unhandled lexical exception
- Add debug_name to "cannot iterate X with Y REPR" message
- Give "this is not a X iterator" more info, too
2016.07
- Implement a new multi-dispatch cache, structured as a tree, able to hold more
entries more memory-compactly, and able to cache dispatches involving named
parameters
- JIT read_fhs op
- Implement elems REPR function for MVMContext
- Implement a BB-splitting manipulation function in the optimizer
- Fix sha1 op to work with null bytes
- Fix bad interaction between profiling and dead allocation elimination; the
presence of allocation logging would prevent the optimization, leading to
misleading profiler output results
2016.08
- Don't crash in P6opaque on NULL name_to_index_mapping
- Fix off-by-one in grapheme iterator
- Block/unblock thread for GC on semaphore wait
- Mark blocked around some more lock acquisitions
- Fix various cases of out-dated pointer reads on concurrency control constructs
- Hold uv_sem_t at a level of indirection, so it won't move in memory
- 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
- Implement async cancellation completion notifications
- 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
2016.09
- Do not crash when the container configuration can't be read
- Correctly calculate the work_size when inlining between compilation units
- Validate indices of param_ ops and require checkarity before param_*
- Fix tautological comprison; snprintf returns an int, not a size_t
- Fix tell for files that haven't been read from
- Don't allow zero alignment in P6opaque storage spec
- Index check lexicals when reading static flags
- Add Decoder REPR and a number of ops that provide access to VM-backed
streaming decoding
- Don't segfault when serializing an uncomposed p6opaque
- Don't read_int into a size_t which is unsigned
- Never leak sym_name from nativecall_build
- Fix a couple of potential leaks in heap snapshots
- Kick arg_ and argconst_ ops from the correct basic block when inlining
- Use HASH_FIND_CACHE instead of HASH_FIND in MVMHash
- Correct wording of named arguments error
- Bounds check for hints in get_attribute and bind_attribute
- Use hints for is_attribute_initialized, and null-check repr_data
- Clean up various unused variables
- Mark thread GC blocked while accepting a socket to prevent deadlocks
- Configure.pl now has an explicit use lib "."
- Fix missing finalization queue cleanup at thread exit
- Mark SC used in bytecode loading as claimed to avoid keeping them around for
too long
- Fix an error in multi caching of named arguments that could cause lookups to
fail and the cache to keep growing
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
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
- Corrections to mkdir on Windows
- Introduce MVM_SPESH_LIMIT, which limits how many specializations will be
performed; this is useful for debugging which specialized block is to blame
for a bug
- 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
- Use GCC on Solaris by default
- Give diagnostic output when compiling fails
- Handle current Solaris compiler not understanding -mt
- Fixed readdir so it won't check old errno
- Work around clock_gettime issue on OSX
- 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
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
2017.01
- Extract spesh block allocator from spesh, for wider use
- Add a number of missing MVMROOTs, which could lead to outdated pointers; also
removed some unrequired MVMROOTs
- Fix arg_flags allocation sizes
- Remove an obsolete path from ldrpath
- Check lexical accesses in GC debug mode 2 also
- Add a #define to turn on inline logging
- Fix callstack reset bug, which could corrupt deeply recursing callstacks
- Don't allow re-compose of a P6opaque
- Add a new unicmp_s op, which compares using the Unicode Collation Algorithm
- Make sure we generate all values of the Line_Break property
- Re-implement utf8-c8 encoding, fixing bugs and ensuring that non-NFC input
will round-trip properly also
- Implement Bidi_Mirroring_Glyph as an integer property
- Implement Emoji grapheme breaking and other combined codes
- Add support for Grapheme_Cluster_Break=Prepend from Unicode 9.0
- Make sure we break after Prepend if it's a control character
- Add a script to download the latest version of all of the Unicode data
- Missing rooting GC in rare exit handler case
- Implement new setdispatcherfor op and add JIT for it
- Use much faster atoi function in normalizer; 14% less CPU use when slurping a
file in UTF-8 encoding
- For Decompose_Type, use int lookup instead of str for better performance
- Fix heap snapshot crash on eventloop thread
- Use /usr/bin/env perl for ./Configure.pl
- Don't break after ZWJ or for MALE SIGN and FEMALE SIGN
- Take into account actual allocated size of I/O buffers in gen2 promotion
statistics
- Tweak full collection criteria in heap profiling
- Free up spesh log slots after specialization, avoiding some leaks
- Removed the getregref_ ops (unused by NQP or Perl 6)
- Removed the continuationclone op (unused by Perl 6)
- Enforce one-shot invocation of continuations
- Greatly simplify handling of call frame working register lifetimes, leading
to consistently shorter lifetimes, less memory pressure, and faster calling
- Eliminate now-unused `tc` field in MVMFrame, saving a pointer per callframe
- Simplify args cleanup functions
- Reduce number of checks in call frame marking, making it faster
- Implement getstrfromname op, to get named Unicode sequences
- Fix GC in spesh triggered by managed mutex use
- Fix data race in inlining extop fixup
- Fix data race in callsite fixup during inlining
- Fix data race in string fixup during inlining
- Fix charname lookups of LINE FEED and CARRIAGE RETURN
- Remove Unicode 1 names and add Unicode Name Aliases
- Convert MVM_malloc+memset to MVM_calloc
- Clean out ancient "remove after rebootstrap" line
- Fix typo in MVM_CALLSTACK_REGIONS_SIZE's name
- Fix missing cleanup of managed DecodeStream
- Have DecodeStrem clean leftover char buffers
- Fix a typo in decode stream destroy function
diffstat:
devel/MoarVM/Makefile | 5 ++---
devel/MoarVM/PLIST | 24 ++++++++----------------
devel/MoarVM/distinfo | 12 ++++++------
devel/MoarVM/patches/patch-build_probe.pm | 13 +++++++++++--
4 files changed, 27 insertions(+), 27 deletions(-)
diffs (139 lines):
diff -r 7b740ac45db4 -r 2be2f40ba15a devel/MoarVM/Makefile
--- a/devel/MoarVM/Makefile Sun Feb 05 12:28:14 2017 +0000
+++ b/devel/MoarVM/Makefile Sun Feb 05 12:36:59 2017 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.2 2016/07/09 06:38:04 wiz Exp $
+# $NetBSD: Makefile,v 1.3 2017/02/05 12:36:59 bsiegert Exp $
-DISTNAME= MoarVM-2016.03
-PKGREVISION= 1
+DISTNAME= MoarVM-2017.01
CATEGORIES= devel perl6
MASTER_SITES= http://www.moarvm.org/releases/
diff -r 7b740ac45db4 -r 2be2f40ba15a devel/MoarVM/PLIST
--- a/devel/MoarVM/PLIST Sun Feb 05 12:28:14 2017 +0000
+++ b/devel/MoarVM/PLIST Sun Feb 05 12:36:59 2017 +0000
@@ -1,20 +1,5 @@
-@comment $NetBSD: PLIST,v 1.1 2016/04/08 20:26:46 bsiegert Exp $
+@comment $NetBSD: PLIST,v 1.2 2017/02/05 12:36:59 bsiegert Exp $
bin/moar
-include/libuv/android-ifaddrs.h
-include/libuv/pthread-fixes.h
-include/libuv/stdint-msvc2008.h
-include/libuv/tree.h
-include/libuv/uv-aix.h
-include/libuv/uv-bsd.h
-include/libuv/uv-darwin.h
-include/libuv/uv-errno.h
-include/libuv/uv-linux.h
-include/libuv/uv-sunos.h
-include/libuv/uv-threadpool.h
-include/libuv/uv-unix.h
-include/libuv/uv-version.h
-include/libuv/uv-win.h
-include/libuv/uv.h
include/moar/6model/6model.h
include/moar/6model/bootstrap.h
include/moar/6model/containers.h
@@ -29,6 +14,7 @@
include/moar/6model/reprs/CUnion.h
include/moar/6model/reprs/ConcBlockingQueue.h
include/moar/6model/reprs/ConditionVariable.h
+include/moar/6model/reprs/Decoder.h
include/moar/6model/reprs/HashAttrStore.h
include/moar/6model/reprs/KnowHOWAttributeREPR.h
include/moar/6model/reprs/KnowHOWREPR.h
@@ -73,6 +59,7 @@
include/moar/core/bytecode.h
include/moar/core/bytecodedump.h
include/moar/core/callsite.h
+include/moar/core/callstack.h
include/moar/core/coerce.h
include/moar/core/compunit.h
include/moar/core/continuation.h
@@ -91,6 +78,7 @@
include/moar/core/nativecall_libffi.h
include/moar/core/oplabels.h
include/moar/core/ops.h
+include/moar/core/regionalloc.h
include/moar/core/threadcontext.h
include/moar/core/threads.h
include/moar/core/validation.h
@@ -130,6 +118,7 @@
include/moar/mast/nodes.h
include/moar/math/bigintops.h
include/moar/math/num.h
+include/moar/memdebug.h
include/moar/moar.h
include/moar/platform/inttypes.h
include/moar/platform/io.h
@@ -139,6 +128,7 @@
include/moar/platform/sys.h
include/moar/platform/threads.h
include/moar/platform/time.h
+include/moar/profiler/heapsnapshot.h
include/moar/profiler/instrument.h
include/moar/profiler/log.h
include/moar/profiler/profile.h
@@ -151,6 +141,7 @@
include/moar/spesh/graph.h
include/moar/spesh/inline.h
include/moar/spesh/log.h
+include/moar/spesh/lookup.h
include/moar/spesh/manipulate.h
include/moar/spesh/optimize.h
include/moar/spesh/osr.h
@@ -164,6 +155,7 @@
include/moar/strings/ops.h
include/moar/strings/unicode.h
include/moar/strings/unicode_gen.h
+include/moar/strings/unicode_ops.h
include/moar/strings/utf16.h
include/moar/strings/utf8.h
include/moar/strings/utf8_c8.h
diff -r 7b740ac45db4 -r 2be2f40ba15a devel/MoarVM/distinfo
--- a/devel/MoarVM/distinfo Sun Feb 05 12:28:14 2017 +0000
+++ b/devel/MoarVM/distinfo Sun Feb 05 12:36:59 2017 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.1 2016/04/08 20:26:46 bsiegert Exp $
+$NetBSD: distinfo,v 1.2 2017/02/05 12:36:59 bsiegert Exp $
-SHA1 (MoarVM-2016.03.tar.gz) = e0b92cad450b35b1db1c63e676bf94dfa5c742d1
-RMD160 (MoarVM-2016.03.tar.gz) = 0c627a21dc7dbaca2f0846520cb9719240623969
-SHA512 (MoarVM-2016.03.tar.gz) = 358c48f6b1803e39841e9f287f2fe3cdde743962d9d9c34e629c18b1b7290fd8a713917f24233dd092ed68adf9a6d0aadb25bda22b3e353d40bd57ae58d70216
-Size (MoarVM-2016.03.tar.gz) = 3318299 bytes
-SHA1 (patch-build_probe.pm) = 8ea9313c1d2329239f123fb4f6c28e1f7de566c2
+SHA1 (MoarVM-2017.01.tar.gz) = 12664fa7e2e9160e36fe55fc806b7c960fe99224
+RMD160 (MoarVM-2017.01.tar.gz) = 3f0cb18b1f5d8f6da168cd15a6db6be84214a29c
+SHA512 (MoarVM-2017.01.tar.gz) = d31b292edc4468c4dd26a367944230ce02286cc601c231b175273b0c61d1fb907aced5b63c1f7426eabfd9148b17aee63dea12c74829206fb38250cd4193804f
+Size (MoarVM-2017.01.tar.gz) = 3718510 bytes
+SHA1 (patch-build_probe.pm) = 9cf0bbd99ff38715c0b8b57bcd227df18d9adfb4
SHA1 (patch-build_setup.pm) = fd53d47bd3126b2c89d4e8d82c6bc0b6db5f4fdf
diff -r 7b740ac45db4 -r 2be2f40ba15a devel/MoarVM/patches/patch-build_probe.pm
--- a/devel/MoarVM/patches/patch-build_probe.pm Sun Feb 05 12:28:14 2017 +0000
+++ b/devel/MoarVM/patches/patch-build_probe.pm Sun Feb 05 12:36:59 2017 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-build_probe.pm,v 1.1 2016/04/08 20:26:46 bsiegert Exp $
+$NetBSD: patch-build_probe.pm,v 1.2 2017/02/05 12:36:59 bsiegert Exp $
Add LDFLAGS for Configure.pl probes so e.g. finding libffi works.
---- build/probe.pm.orig 2015-12-25 12:37:32.000000000 +0000
+--- build/probe.pm.orig 2016-11-16 14:34:28.000000000 +0000
+++ build/probe.pm
@@ -57,7 +57,7 @@ sub compile {
push @objs, $obj;
@@ -13,3 +13,12 @@
system $command
and return;
return 1;
+@@ -102,7 +102,7 @@ EOT
+ }
+
+ if ($can_compile) {
+- $command = "$config->{ld} $config->{ldout}$leaf $obj $config->{ldlibs} 2>&1";
++ $command = "$config->{ld} $ENV{'LDFLAGS'} $config->{ldout}$leaf $obj $config->{ldlibs} 2>&1";
+ $output = `$command` || $!;
+ if ($? >> 8 == 0) {
+ $can_link = 1;
Home |
Main Index |
Thread Index |
Old Index