+ Use rapidhash instead of siphash for string hashes
+ Optimizations in string decoding and comparison:
+ Micro-optimizations for attribute access and extops
+ Avoid unnecessary memcpy or qsort when NULL
+ Switch to direct malloc instead of stack+malloc+memcpy
+ Prevent crashes, guard jumps, avoid deep recursion in Spesh and GC
+ More detailed logging, new syscalls, user-accessible telemetry
+ Add is-debugserver-running syscall
+ Fix for Lua CVE-2014-5461
OBS-URL: https://build.opensuse.org/package/show/devel:languages:raku/moarvm?expand=0&rev=10
- update to version 2022.07
+ Attempt at implementing a "bytecode-size" dispatch
+ Run finalizers even with tc->last_handler_result
+ Set facts on disp prog translation of int and num lits
+ Commit some missed uint things
+ Add missing SC write barriers to atomic attr bind and cas
+ Fix sign comparison warnings in coerce_su implementation
+ Mimalloc should only release memory to the OS at exit if --full-cleanup was
used
+ Add write_uint16_at method to MAST::Bytecode
+ JIT atposref_u + getattrref_u
+ Fix mis-spesh of native calls
OBS-URL: https://build.opensuse.org/request/show/1007423
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl6/moarvm?expand=0&rev=89
- 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
- Fix installation on RHEL7
On Redhat based distros, rpm's auto-provides requires shared libs
to be executable.
- Fix build on RHEL7 which seems to lack libzstd
OBS-URL: https://build.opensuse.org/request/show/966636
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/moarvm?expand=0&rev=39
- 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
OBS-URL: https://build.opensuse.org/request/show/966629
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl6/moarvm?expand=0&rev=86
- Fix build on s390x by using libffi instead of dyncall on that arch
- 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
OBS-URL: https://build.opensuse.org/request/show/956526
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl6/moarvm?expand=0&rev=77
- 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
OBS-URL: https://build.opensuse.org/request/show/908134
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl6/moarvm?expand=0&rev=73
- Forward port reproducible.patch after build system changes
- 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
OBS-URL: https://build.opensuse.org/request/show/895188
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl6/moarvm?expand=0&rev=70
- 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
OBS-URL: https://build.opensuse.org/request/show/874248
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl6/moarvm?expand=0&rev=66
- 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
OBS-URL: https://build.opensuse.org/request/show/805632
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl6/moarvm?expand=0&rev=64
- 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
OBS-URL: https://build.opensuse.org/request/show/781554
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl6/moarvm?expand=0&rev=62
- update to version 2020.01
+ Fix relocatability of modules using NativeCall
+ Fix segfault caused by deopt all in NativeCall callback
+ Fix segfaults caused by JITed takehandlerresult returning NULL
+ Fix frame walker segfaults caused by deopt of a caller on a different thread
+ Fix memory corruption after cancelling signal
+ Allow getting absolute epoch startup time of VM in vmeventsubscribe
+ Add support for '−' (U+2212) minus for nqp::radix(_I)
+ Clean up MVM_io_resolve_host_name and make it more portable
+ Move to C99, compile with -Wall -Wextra and fix preexisting compiler warnings
+ Jit ordbaseat
- Remove MoarVM-buildroot-fix.diff as the issue has been fixed upstream
OBS-URL: https://build.opensuse.org/request/show/761105
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl6/moarvm?expand=0&rev=57