./devel/MoarVM, Virtual machine for Rakudo Perl 6

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2022.06nb1, Package name: MoarVM-2022.06nb1, Maintainer: pkgsrc-users

Short for "Metamodel On A Runtime", MoarVM is a virtual machine built
especially for Rakudo Perl 6 and the NQP Compiler Toolchain. The primary
backend target for the Christmas 2015 release of Perl 6, MoarVM stands
out amongst the various Rakudo and NQP compilation targets by:

- Running the Perl 6 specification test suite in the least time
- Passing more of the Perl 6 specification tests than Rakudo Perl 6 on
other backends
- Having the lowest memory usage
- Having the best startup time
- Being fastest to build both NQP and Rakudo - and thus your Perl 6 and
NQP programs too!
- Being the only backend to support strings at grapheme level


Required to run:
[math/ltm] [devel/libffi] [devel/libatomic_ops] [devel/libuv]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 14518.83 KB

Version history: (Expand)


CVS history: (Expand)


   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36
   2022-06-08 13:53:35 by Makoto Fujiwara | Files touched by this commit (1)
Log message:
(devel/MoarVM) Update buildlink3.mk too
   2022-06-08 13:49:14 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
(devel/MoarVM) Updated 2022.03 to 2022.06

New in 2022.06

Core:

Documentation:
+ Fix errata in docs/debug-server-protocol.md [99730293]

GC:
+ Add missing SC write barriers to atomic attr bind and cas [a9fcd5a7]

JIT:

Spesh:

Strings:

New in 2022.04

Core:
+ Update libuv to version 1.44.1 (#1689) [2eb83739]
+ Fix sign comparison warnings in coerce_su implementation [3d65db97]
+ Mimalloc should only release memory to the OS at exit if --full-cleanup was
  used [c77e1623]
+ Turn on C11 atomics by default [a3476e28]
+ Add write_uint16_at method to MAST::Bytecode [9b9b4763]
+ Use stdatomic probe in using c11 atomics decision [d7dee3a2]

GC:

JIT:
+ JIT atposref_u + getattrref_u [b2a91e6c]

Spesh:
+ Fix mis-spesh of native calls [01e1d116][87040eaa][2319bba4]

Strings:
   2022-04-02 15:53:03 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
(devel/MoarVM) Updated 2022.02 to 2022.03

New in 2022.03

Core:
+ Update libuv to version 1.43.0 [cc54203e]
+ Bump mimalloc to v2.0.5 [1b8b2e39]
+ The result of a getenv() call should not be freed [a78776ea]
+ Some nativeref optimizations and fixes [348f0927][fed7bb86][0f853f8f]
  [28643799][f7891c8f][062fe30f]
+ Fix all returned native integers getting treated as signed [bb2fb105]
  [535ff68b][345ec7d3]
+ Make rakudo available on the GNU Hurd [a9c0058d][0d584831][e96bab85]
+ Fix potential invalid free in nativecall [4bf970a9]
+ Add missing _u cases to disp program callsite code [b0723bcb]
+ Correctly allocate/free CStrs when using mimalloc [764fff9b]

GC:
+ Root orig since MVM_frame_capturelex can allocate [df8d3bb9]

JIT:
+ Restore jitting of sp_getarg_[inso] [91006ae5]
+ Jit even more *_u versions of ops [0ee1ca24]

Spesh:
+ Fix frame walker finding wrong value after multi level inlining [059c013b]
+ Fix spesh of named uint parameters [482e284f]
+ Fix speshing of param_on_o [0b45dd48]

Strings:
+ Add an MVM_nativecall_encode_string function [596b4215]
   2022-03-13 07:09:21 by Makoto Fujiwara | Files touched by this commit (3) | Package updated
Log message:
(devel/MoarVM) Updated 2021.12 to 2022.02

New in 2022.02

Core:
+ Assure memory write order in native call race condition fix [4d411987]
+ Use faster itoa implementation [48f584c4]
+ Change nqp::radix(_I)? to return # chars converted [45f40826]
+ Ignore untracked changes in the ryu submodule [f4b4692a]
+ Correctly free memory allocated by libuv [781a4799]
+ Include stdbool.h instead of using our own defines [01c3e8f5]
+ Add bindpos_u op [4b404536]
+ Add atpos_u op [44204e89]
+ HLL uint_box_type [362d465a]
+ uint_*_ref HLL config entries [36ba6133]
+ New set-cur-hll-config-key syscall [28df31bb]
+ New atposref_u op [5abfbcff]
+ Let NativeRefs know if they are unsigned [4e429897]
+ fetch_u operation on containers [e298f6a8]
+ New iscont_u op [0e68f31c]
+ New assign_u op [502cd6fb]
+ captureargpos_u op [7c3ddaee]
+ Teach native_ref_store to distinguish between signed and unsigned ints
  [0161b143]
+ Treat MVM_CALLSITE_ARG_(FLAT | NAMED) like FLAT_NAMED [9c2df858]
+ Free up MVM_CALLSITE_ARG_FLAT_NAMED flag [b1069f7c]
+ #include <assert.h> explicitly. [55be3aa2]
+ More preparations for fixing unsigned handling [90b24146][36a5fb4c][171ea9f4]
  [3f616d7a][ba8bd0e9][4d003732]
+ Run `git submodule --quiet update --depth 1` if git is new enough. [677d1fd6]
+ Add mimalloc submodule, and default to mimalloc where possible [9f0a3bdb]
  [0a8a66d5][8a5be0d9][e7388250][eaaeab54][248aa337][e306759e][1d779128]
+ Make value_desc_cont_atomic_store() static [1351cfe6]
+ Allocations for blocks of MVM registers needs to be 8 byte aligned [1850f91a]
+ Add missing static qualifiers to various private functions [d293c683]
  [a641520f][38e66874][da372d13][ef4e19c5][5b477a6a][5e217e03][e0f92ab1]
  [86ba1d5e][08bf3b61]
+ Support using C11 atomics as an alternative libatomic_ops [44696884]
  [9ff22369][783bb2ac][48c67de8][777a18c4]
+ MVM_nativeref_lex_u for proper gelexref_u* [d4dab6eb]
+ Use appropriate (un)signed container ops for native call args [26e2cfad]
+ Fix argument unboxing treating all integers as signed [9239ed5f]
+ Use MVM_STORAGE_SPEC_BP_UINT64 for unsigned box targets [b34604a6]
+ Properly support uints in CArray [53e588e4]
+ Make C(PP)Struct and CUnion properly support uint attributes [06e1ebe3]
+ Properly support uint in MultiDimArrays [b585b5e3]
+ Fix "Wrong kind of access to numeric CArray" when binding into an \ 
uint CArray
  [f1101b95]
+ Add an lgtm config file [9fb8ec91]
+ Use libc allocator functions for NativeCall [c6064d3b][2bf083bc][a1749f57]
  [26ad34e8][20910161][d39f50d7]
+ Fix segfault in nqp::hllboolfor [6661662d]
+ Move the repeated code that frees callsites before exceptions to a function
  [85fa90c4]
+ Fix a bug in `report_deserialize_callsites_violation` [03f023cc]
+ Remove all code for serialization versions earlier than 23 [e80869eb]
+ Remove all code for bytecode versions earlier than 7 [bee95459]
+ Implement unsigned native version of binary not op (bnot_u) [b7d2713b]
+ Teach MVM_dump_p6opaque debug function to dump bigints [a0a98d47]
+ Fix autoboxing of arguments treating unsigned ints as signed [3ff5b111]
+ Fix segfault after capture-replace-literal-arg with different kind [2abb4699]
+ Implement (bind|get)attrs?_u ops [d58fa57d]
+ Implement getattrref_u op [ea644a5b]
+ Fix autobox_uint finding negative Ints in the int cache [a851fcf4]
+ Proper uint support for multidim arrays. [ef270d7f]
+ Silence warning about ignoring return value from libtommath function
  [c00abdf3]
+ Fix things found by lgtm.com [42060102][55c83c2a][6d1bd83c][80e262a6]
  [94847eda]
+ Fix problems in GCC/GDB plugins found by lgtm.com [3d759ed5][b73b9570]
  [de12679a][3773169d][0b16384d]
+ Fix more things found by lgtm.com [58d0d756][d968da89]
+ Make it possible turn dispatcher debugger with compiler options [72b313b2]
+ Fix some missing variable renames in GCC plugin [e58fc6d1]

GC:
+ Fix possible access to fromspace in libffi native calls [38349ce4]
+ Fix possible access to fromspace after deopt materialization [2883ba75]

JIT:
+ Jit iscont_u, missed in the recent uint work [7044d53c]
+ Jit some more missing `*_u` versions of ops [6a404765]

Spesh:
+ Support boxed unsigned int primitives in argument spesh [f12bc422]
+ Fix speshed native calls with rw args assigning into wrong target [d783bf27]
+ Teach optimize_decont about UINT64 box type [4a3b98d5]
+ Fix spesh turning decont of a UIntLexRef into a decont_i [ed3cdd38]
+ Fix spesh breaking non-int/long rw args of native calls [280c709c]

Strings:
+ Simplify MVM_string_utf8_encode_C_string [99e0a715]
+ Change Generate-Collation-Data.raku to use raku binary [1b1b7d59]
+ Manually implement simplified strtoll for coerce_si [b80996ff]
+ Avoid reading beyond the end of the string in MVM_coerce_s_i [ecfc0bc2]
+ Replace locale-"aware" <ctype.h> with ASCII-only code in \ 
MVM_coerce_s_i
  [596be524]
+ Fix format strings for Win32 + set C99 for MinGW [dd978192]
+ Whoops, fix a wrong format string change [418711f0]
   2022-01-23 14:18:37 by Makoto Fujiwara | Files touched by this commit (3)
Log message:
(devel/MoarVM) Updated 2021.09 to 2021.12

New in 2021.12

Core:
+ Allocate frame work and, when possible, environment registers on the
  callstack [fd571614][9266e794][7eca0ed3][d83edbea]
+ Negative numbers should not be prime [1bd61725]
+ Fix segfaults when a frame has more than 8192 locals [24392a32]
+ Some small optimizations for frame allocation [9903a543][fcddd121]
  [4d145b46][93809811]
+ When NativeCall is libffi, copy `ffi_ret_type` and `ffi_arg_types`
  [a2a82f99]
+ When NativeCall is libffi, don't leak ffi_arg_types during GC [a3c17d0f]
+ Avoid thread safety issues in intern lookups [08d41d5e]
+ Fix threading issues caused by misalignment in --valgrind builds
  [ea5a86a1]
+ Remove counter productive NULL checks in decont ops [8aca849f]
+ Dispatcher replace arg syscall [68b8f429][ed0c8ec0][4cdce310][0a5b37a1]
+ Migrate special return to callstack and simplify return handling
  [05b34685][485ca825][f58cf69f][139f54aa][feba1cd5][3f45b234][8e197406]
  [776a1e3c][4adf3a2c][ce19abf2][0f43204e][2f423b20][b8e90bf8][cb7deb4b]
  [843cf0f3][cd3b759b][f2685cd9][9f22ccc2]
+ Mark nqp::radix as :pure [9d5bcfc5]
+ New disp nativecall [e3614b05][8b33b49a][1eb6bd4c][58cb30a8]
  [3f6ffa19][3881e22e][7dd49341][d44be4f2][2acd842a][b0b0638e][a9c3db5d]
  [7de49439][ece63176][40267983][8aac4bf7][d5956209][5b477341][e403ec59]
  [21f6f323][87442f53][ee404907][960d87db][1e0d70c4][2e2f6607][4fd9c73a]
  [cfcab847][d843f4ab][cd9541be][9bbd50cd][795d75ed][785d3e03][e1b5e35d]
  [c451fede][35963970][45692bbc]
+ Properly extend int return values of native calls to 64 bits [bd83921d]
+ Fix use of uninitialized memory in native callbacks with libffi
  [0006714d]
+ Close socket on async error during an async connection [2a124542]
+ Fix various callstack region record related failures [e7e0bdc0][469bf913]
  [6903c952][c15c093d]
+ Alloca the nativecall args that we can [5503065c]
+ Deserialize empty hashes robustly [c1e8775f][2fa51c61][0a674c8c]
+ Fix segfaults due to race condition when initializing native call sites
  [207db4bb]
+ Fix segfault with void native calls [fd6a4103][768228b3]

GC:
+ Fix possible access to fromspace in code_pair_configure_container_spec
  [cd809ee4][0821570a]
+ Fix possible access to fromspace after MVM_capture_replace_arg [81082e1c]
+ Fix possible access to fromspace in MVM_disp_program_run [6fd62329]
+ Fix possible access to fromspace in native calls [f4aa22ad]
+ Fix possible access to fromspace when autoboxing return values [f0e4b08c]

JIT:
+ Improve the jit implementation of nqp::abs_i [52c4a6d7]
+ Use callp instead of call in jit of new(mixin)type [ba03cb2e]
+ Lego JIT of getcurhllsym [4c3f4cde]
+ Fix race conditions in JIT compiled dispatches [4c6755f4]
+ Fix JITed return from nested runloops [8a91bf8e]

Spesh:
+ Eliminate hllbool/boot-boolify-boxed-int pairs in spesh [14a8befd]
+ show annotation for delayed temps in spesh log [10e5344c]
+ Fix invalid pred chain caused by MVM_spesh_manipulate_split_BB_at
  [44c88da7]
+ Fix out of bounds read of PHI facts in spesh [8a684b33]
+ Fix uninitialized register after PEA and inlining [bb719a63]

Strings:
+ Use alloca in MVM_string_memmem_grapheme32str... [9a37bb61]

New in 2021.10

Special:
+ 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/

6model:
+ [b75d0047]  Add `.new()` suggestion to type object errors

Core:
+ [e28e06de] Correct libffi/dyncall discrepancy
+ [e66404a8] Ensure stable order of flattened named args
+ [f7d6bc61] Avoid locking on intern cache lookup
+ [039cc584] Fix two leaks missed by `--full-cleanup`

Debugserver:
+ [ab2a3f01] Normalize filenames for debug server
+ [137ca834] Produce one breakpoint instruction per line
+ [b5b276ff] Fix issues with resuming suspended threads
+ [8f7d970a] Only produce debugger debugging output when asked
+ [746175bc] Fix regression in stepping
+ [cedebdbf] Add more debug output for stepping
+ [86d0a050] Avoid duplicate response for suspend/resume all

JIT:
+ [a6ff2c03] Fix segfault in lego jit of `composetype`
+ [3a1346a4] Fix typo in JIT of `scobjcount`
+ [4f0fb9dd] JIT `(bind|get)exmessage`
+ [e4765d6c] JIT `getlexrel(caller)`
+ [3fb968ae] JIT `loadlib`
+ [029030ab] JIT `markcode(static|stub`)
+ [84348c9f] JIT `(new(mixin)|compose)type`
+ [989a8750] JIT `parameterizetype`
+ [87df9196] JIT `sha1`
+ [8e326cbc] JIT `seek_fh`
+ [bde03151] JIT `loadext`
+ [a0f9f387] JIT `setcodename`
+ [70b57ed2] JIT `throwpayloadlexcaller`
+ [f27b7fac] JIT `setparameterizer`
+ [0d01a32b] JIT `settypefinalize`
+ [890e65c6] JIT `usecompile(e|r)hllconfig`

Strings:
+ [665ab937,3d478190] Stream Decoder: Disallow incomplete code at EOF

Other:
+ [79ac88ea] Improve `MVM_bithacks_next_greater_pow2` function
+ [e22a190b] Doc research on scoping for an AArch64 JIT port

Tooling/Build:
+ [9b6dd5ce] Remove Ubuntu 16.04 jobs from CI pipeline
+ [76afe93c] Simplify cloning NQP and Rakudo repos in CI jobs
   2021-12-08 17:07:18 by Adam Ciarcinski | Files touched by this commit (3063)
Log message:
revbump for icu and libffi
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip