A VM for NQP And Rakudo Perl 6
6model:
IO:
platform/socket.h
Tooling/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_str
MVM_exception_throw_adhoc
in the spesh worker should be an oopsMVM_set_running_threads_context
MVM_{set,get}_running_threads_context
to threadcontext.hMVM_nativecall_find_thread_context
Documentation:
JIT:
Math:
Strings:
MVM_dump_string
6model:
root
twice in get_attribute
Core:
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 flags2
Core:
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 realclean
Platform:
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:
tar
6model:
Core:
IO:
JIT:
Platform:
Spesh:
args
buffer which can lead to us processing outdated
argsStrings:
Tooling/Build:
make realclean
Other:
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 solutioncygwin
tc
field in MVMFrame, saving a pointer per callframedie
buffer
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".)