A VM for Rakudo and NQP
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
CI:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
CI:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
CI:
Core:
Core:
Pre-size bstack for exact amount getting added [597a8ba82] GC:
Avoid segfault in GC with nqp::objectid [ccfe7ebad] Spesh:
Avoid mis-spesh of routines with multiple slurpies of the same kind [455eae34f]
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
CI:
Core:
Documentation:
JIT:
Spesh:
CI:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
--has-mimalloc option to use system mimalloc [99479afe]Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
Documentation:
GC:
JIT:
Spesh:
Core:
Documentation:
GC:
JIT:
Spesh:
Strings:
Core:
GC:
JIT:
Spesh:
Strings:
Core:
GC:
JIT:
Spesh:
Strings:
Core:
git submodule --quiet update --depth 1 if git is new enough. [677d1fd6]report_deserialize_callsites_violation [03f023cc]GC:
JIT:
*_u versions of ops [6a404765]Spesh:
Strings:
Core:
ffi_ret_type and ffi_arg_types
[a2a82f99]GC:
JIT:
Spesh:
Strings:
Special:
6model:
.new() suggestion to type object errorsCore:
--full-cleanupDebugserver:
JIT:
composetypescobjcount(bind|get)exmessagegetlexrel(caller)loadlibmarkcode(static|stub)(new(mixin)|compose)typeparameterizetypesha1seek_fhloadextsetcodenamethrowpayloadlexcallersetparameterizersettypefinalizeusecompile(e|r)hllconfigStrings:
Other:
MVM_bithacks_next_greater_pow2 functionTooling/Build:
Core:
key_right_shift - metadata_hash_bits in the hashtable--full-cleanup in nqp::exitGC:
Core:
MVM_str_hash_fsckMVM_coerce_n_s to Ryƫ from Grisu3 with a sprintf fallbackJIT:
(bind|get)attr(s)?_*Spesh:
6model:
realloc+memset(0) to recallocCore:
hash_fsck functionsIO:
mkdirsocket(2) call immediatelyProfiler:
Spesh:
Strings:
Tooling/Build:
$PREFIX\include as no longer needed6model:
sc.idx during deserialization to avoid costly lookup laterCore:
t/spec/S17-promise/nonblocking-await.tTooling/Build:
_GNU_SOURCE for GNU buildsCore:
nqp::decontMVM_fixed_size_destroy needs to free the safepoint overflow listMVM_fixkey_hash_foreach static inlineIO:
bytes argument to write()/send() callsLibraries:
Math:
MVM_num_isnanorinf using isinf and isnan if we find themPlatform:
log() for negative valuesSpesh:
gc_mark of simstackframe's arg_typessmart_intifyTooling/Build:
6model:
MVMActiveHandlersVMArray's copy_elemsCore:
nqp::time_i and nqp::time_n in favor of nqp:time which just return integer nanoseconds since the epochgraphs_s operatorsec_n, asec_n and sech_h operators, which are no longer usedsetup_notify handler and queue to nqp::signal to avoid race conditions when setting up a signal handlergetobjsc returning NULL when the object has no SChllbool when the HLL doesn't have special booleansnqp::backtrace, making creating Failure objects
faster and avoiding the inconsistencies caused by inliningmalloc+free per frame when creating a Backtrace objectsmrt_intify specializable like other smrt_* operatorsMVM_args_set_result_objDocumentation:
JIT:
MVM_jit_bytecode_dump_enabled if code is non-NULLordfirst/ordat/ordbaseat returning 4294967295 instead of -1ordbaseat and getcpbyname returning 4294967295 instead of -1Spesh:
Tooling/Build:
--full-cleanup option6model:
IO:
platform/socket.hTooling/Build:
Profiler:
6model:
Core:
Debug Server:
HLL Symbol Request and Response message typesDocumentation:
IO:
procspawnasync to explicitly take the program nameGC:
GC_DEBUG is set to 3Libraries:
Spesh:
Strings:
Tooling/Build:
Profiler:
6model:
spesh must handle P6bigint values inline, as some are too bigunshift callsCore:
MVM_box_{int,num,str,uint} and MVM_unbox_str with calls to
MVM_repr_box_{int,num,str,uint} and MVM_repr_get_strMVM_exception_throw_adhoc in the spesh worker should be an oopsMVM_set_running_threads_contextMVM_{set,get}_running_threads_context to threadcontext.hMVM_nativecall_find_thread_contextDocumentation:
JIT:
Math:
Strings:
MVM_dump_string6model:
root twice in get_attributeCore:
foo(void) instead of just foo() for functions that take no argumentsPlatform:
Strings:
swap_bytes in utf16.c needs to also swap bytes on big endian platformsTooling/Build:
pthread_setname_np needs prototypes from <string.h>6model:
Core:
Debug Server:
IO:
Strings:
char can be unsigned. Rewrite the "is it ASCII?" test to handle this tooTooling/Build:
6model:
flags in struct MVMCollectable into flags1 and flags2Core:
Debug Server:
c_key_name in the debug serverIO:
Libraries:
Other:
Platform:
Profiler:
MVMHeapSnapshotSeen * from seen in heapsnapshot.cTooling/Build:
Core:
Debug Server:
FindMethod op and add a name field for itdecont opGC:
Strings:
Tooling/Build:
Configure.pl executable againConfigure.pl flag --dtrace which allows to put DTrace points in the code6model:
Core:
Debug Server:
GC:
JIT:
Other:
Spesh:
Unicode:
Tooling/Build:
6model:
st->REPR_data to NULLCore:
tc parameter of cleanup_allGC:
IO:
JIT:
Libraries:
Other:
Profiler:
Spesh:
Tooling/Build:
--git-cache-dir Configure.pl option6model:
Core:
Debug Server:
Docs:
GC:
IO:
JIT:
Libraries:
Math:
Ops:
Other:
Platform:
Profiler:
Spesh:
Strings:
Tooling/Build:
make exit status as ownCore:
Debug Server:
Platform:
Profiler:
Spesh:
Tooling/Build:
6model:
Core:
Debug Server:
Documentation:
IO:
JIT:
Libraries:
Math:
Ops:
Other:
make realcleanPlatform:
Profiler:
Spesh:
Tooling/Build:
Other:
6model:
Core:
GC:
IO:
JIT:
Ops:
Profiler:
Spesh:
Strings:
Tooling/Build:
Spesh:
6model:
Core:
Debug Server:
Documentation:
IO:
JIT:
Math:
Ops:
Other:
Profiler:
Strings:
Tooling/Build:
tar6model:
Core:
IO:
JIT:
Platform:
Spesh:
args buffer which can lead to us processing outdated
argsStrings:
Tooling/Build:
make realcleanOther:
6model:
Core:
Docs:
JIT:
Ops:
Profiler:
Spesh:
Tooling/Build:
6model:
Core:
Docs:
GC:
IO:
JIT:
Math:
Ops:
Spesh:
Strings:
Core:
Documentation:
GC:
IO:
JIT:
Libraries:
Ops:
Platform:
Profiler:
Spesh:
Strings:
Misc:
6model:
Core:
Docs:
Documentation:
GC:
General:
IO:
JIT:
Math:
Ops:
Other:
Profiler:
Spesh:
return'sStrings:
Tooling/Build:
6model:
Debug Server:
IO:
JIT:
Ops:
Platform:
Spesh:
Strings:
Instrumentation:
Miscellaneous:
Tooling/Build:
Miscellaneous:
6model:
Documentation:
IO:
Ops:
Strings:
getstrfromname will resolve generated names<private-use-XXXX> and <surrogate-XXXX> for as Unicode names for private
use and surrogates as recommended by UnicodeJIT:
Spesh:
Profiler:
Debug Server:
Tooling/Build:
update-changelog.p6 tool for faster categorization of commits into the ChangeLogmake realclean cleans 3rdparty/cmpStrings:
JIT:
Garbage Collection/Memory:
Math:
Profiler:
Ops:
Libraries:
6Model:
IO:
Spesh:
Debug Server + Cut module names out of filenames + Only suspend on actually must-suspend breakpoints + Add metadata for ReentrantMutex and Semaphore
Tooling/Build:
Miscellaneous:
Miscellaneous:
Add remote debugging support, optionally enabled with the --debug-port option to MoarVM. This uses the MessagePack and allows:
Suspending and resuming all threads, or individual threads
Network:
Encodings:
Spesh:
Tooling:
JIT:
Profiler:
Miscellaneous:
Strings:
Spesh:
JIT:
Tooling:
Miscellaneous:
make release with dirty work treeUnicode:
JIT:
Spesh:
clone opGarbage Collection/Memory:
Debug log fixes:
Fix spelling typos in GC debug log
Miscellaneous:
Unicode:
JIT:
Spesh:
Miscellaneous:
Unicode:
JIT:
Iter:
Spesh:
Math:
libuv:
Garbage Collection/Memory + Fix unneeded GC blocking in loop + Fix pointer arithmetic in MVM_fixed_size_realloc_at_safepoint with a cast + Convert realloc plus memset 0 to recalloc in MVM_sc_set_object + FSA size debug: cooperate better with valgrind + Support FSA_SIZE_DEBUG in MVM_fixed_size_realloc and *realloc_at_safepoint
MVMROOT:
NativeCall:
JIT:
JIT compile native calls with VMArray arguments
Basic JIT of lock/unlock
Support unsigned ints when JIT compiling native calls
getlex_o now returns VNMull rather than null
Merge the 'expression tree' JIT compiler backend.
Frame:
Spesh:
GC:
Build:
Strings:
Windows:
MacOS:
Solaris:
FreeBSD:
index 9x when Haystack is strand, needle is 1 longeqat 1.7x-2.5x faster-f on MacOS so make our own solutioncygwintc field in MVMFrame, saving a pointer per callframediebuffer before returningThe first official MoarVM release! Capable of running the 2014.01 release of Rakudo Perl 6, the first one with MoarVM support. (No change log for this initial release, since it's basically "all the things".)