A VM for NQP And Rakudo Perl 6
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-cleanup
Debugserver:
JIT:
composetype
scobjcount
(bind|get)exmessage
getlexrel(caller)
loadlib
markcode(static|stub
)(new(mixin)|compose)type
parameterizetype
sha1
seek_fh
loadext
setcodename
throwpayloadlexcaller
setparameterizer
settypefinalize
usecompile(e|r)hllconfig
Strings:
Other:
MVM_bithacks_next_greater_pow2
functionTooling/Build:
Core:
key_right_shift
- metadata_hash_bits in the hashtable--full-cleanup
in nqp::exit
GC:
Core:
MVM_str_hash_fsck
MVM_coerce_n_s
to Ryƫ from Grisu3 with a sprintf
fallbackJIT:
(bind|get)attr(s)?_*
Spesh:
6model:
realloc+memset(0)
to recalloc
Core:
hash_fsck
functionsIO:
mkdir
socket(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.t
Tooling/Build:
_GNU_SOURCE
for GNU buildsCore:
nqp::decont
MVM_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_types
smart_intify
Tooling/Build:
6model:
MVMActiveHandler
sVMArray
's copy_elems
Core:
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_obj
Documentation:
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.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".)