File moarvm.changes of Package moarvm
-------------------------------------------------------------------
Sat Nov 28 15:10:34 CET 2020 - nine@detonation.org
- update to version 2020.11+git47.g1c7358004
* b3fa6df21 Two words missing from comments spotted by jnthn++
* 3ab21b9e7 Update cur_items as each entry is (re)added in hash_insert_internal().
* 9c5273626 Round hashtable size allocations up to multiples of sizeof(long).
* 3833c31e6 Convert native_callback_cache from `MVMStrHashTable *` to `MVMStrHashTable`.
* 897d2e987 Convert lexical_names from `MVMIndexHashTable *` to MVMIndexHashTable.
* c544ca9fa Convert debug_locals from `MVMStrHashTable *` to `MVMStrHashTable`.
* 1dd5b3c78 Add MVM_str_hash_shallow_copy(), which is just malloc() and memcpy().
* d8ecb3257 With the single memory block we don't need the initial sentinel value.
* 5048630d4 Convert MVMStrHashTable to a single block of allocated memory.
* 1f695ac63 Convert MVMFixKeyHashTable to a single block of allocated memory.
* 1b2867fbc Convert MVMIndexHashTable to a single block of allocated memory.
* d65501b24 Convert MVMPtrHashTable to a single block of allocated memory.
* 04063d19e Convert MVMUniHashTable to a single block of allocated memory.
* 93a1ba850 Split out MVMStrHashTableControl from MVMStrHashTable.
* 93aae5824 Add inline functions to read hashtable ->entries and ->metadata.
* 1e98d73b0 Add `MVM_str_hash_is_empty` etc, to abstract the test for empty hashes.
* ed15b258e Allocate hash entries and metadata in a single block of memory.
* 372e4341f Change the hashtable entries pointer from `char *` to `MVMuint8`.
* ce0cbf589 Store hash entries downwards in memory - .entries points to the last entry.
-------------------------------------------------------------------
Sat Nov 28 10:54:34 CET 2020 - nine@detonation.org
- update to version 2020.11+git27.ga6118ff22
* a6118ff22 New debug helper: MVM_dump_string
* b8653caec Turn gen2 default allocation off on (de)serialization failures
-------------------------------------------------------------------
Fri Nov 27 14:55:35 CET 2020 - nine@detonation.org
- update to version 2020.11+git25.gf3e9e356d
* fa9b6659a Use simpler stdio calls in exceptions.c where possible.
* 998ea76a1 Calling `MVM_exception_throw_adhoc` in the spesh worker should be an oops.
-------------------------------------------------------------------
Tue Nov 24 22:39:35 CET 2020 - nine@detonation.org
- update to version 2020.11+git22.gbfce05394
* 34e068643 Simplify and inline `MVM_nativecall_find_thread_context`
* 0c3a38fad Move MVM_{set,get}_running_threads_context to threadcontext.h
* 3838247ea Add word and byte-sized return value macros to the lego JIT
-------------------------------------------------------------------
Tue Nov 24 15:27:34 CET 2020 - nine@detonation.org
- update to version 2020.11+git17.gec5078629
* ec5078629 D'oh! We need to set MVM_running_threads_context.
-------------------------------------------------------------------
Sun Nov 22 21:03:35 CET 2020 - nine@detonation.org
- update to version 2020.11+git16.gaaa1af772
* 8d68b18f9 A probe for compiler thread local storage support.
* ac941c0d5 Add MVM_THREAD_LOCAL to declare variables with thread local storage
* 4cfde6edf Add `MVM_get_running_threads_context` to get the running thread's context
-------------------------------------------------------------------
Sun Nov 22 20:47:36 CET 2020 - nine@detonation.org
- update to version 2020.11+git12.g96bd70445
* 9fbcdb4de P6opaque's `spesh` must handle P6bigint values inline, as some are too big.
* 01c0950d4 Add `box_u` to both JITs and `unbox_i` to the template JIT.
* c2f3e04b1 Remove vestigial definitions of the macro STR_WITH_LEN()
* 175525cef Replace `MVM_unbox_str` with `MVM_repr_get_str` and eliminate the former.
* 60b47f62e The template JIT now calls {MVM_repr_box_int,str} directly.
* 9b9de0aba graph.c now calls MVM_repr_box_{int,num,str} directly.
* 868de8cc7 Use MVM_repr_box_{int,num,str,uint} directly in interp.c
* 741e6acd2 MVM_box_{int,num,str,uint} mostly duplicate MVM_repr_box_{int,num,str,uint}
* 5f1712cb1 MVM_box_{int,num,str,unit} all should MVMROOT the local variable `box`.
-------------------------------------------------------------------
Sat Nov 21 13:19:35 CET 2020 - nine@detonation.org
- update to version 2020.11+git1.gca5d19d21
* 058b8377b Bump VERSION for release
* 955358c77 Update ChangeLog for 2020.11 release
-------------------------------------------------------------------
Sat Nov 21 00:31:35 CET 2020 - nine@detonation.org
- update to version 2020.10+git33.g76ea45804
* 3c5deb2f6 Implement serialize/deserialize of CStr REPR
-------------------------------------------------------------------
Fri Nov 6 13:04:35 CET 2020 - nine@detonation.org
- update to version 2020.10+git31.gb13f6a24c
* 2e8b56579 Update check-roots.py to match code
* 38a2f815d Fix interning of parametrics missing most cases
* 751774709 Fix interning of nested parametric types
* ffc8a269a Always restore serialization reader state after deserializing
* af9ebffbd Fix copy pasta in deserialize_context
-------------------------------------------------------------------
Fri Nov 6 10:24:35 CET 2020 - nine@detonation.org
- update to version 2020.10+git25.g03d334f11
* 03d334f11 we need to import pthread on windows to get a type
-------------------------------------------------------------------
Fri Nov 6 05:04:36 CET 2020 - nine@detonation.org
- update to version 2020.10+git24.gc02754207
* c02754207 bump unicode version in readme
-------------------------------------------------------------------
Thu Nov 5 16:32:36 CET 2020 - nine@detonation.org
- update to version 2020.10+git23.g37e4618f4
* aa83051a1 If there are a lot of covering lines, hide them...
* 6a2284e66 Report the lines that caused coverage
-------------------------------------------------------------------
Mon Nov 2 01:20:59 CET 2020 - nine@detonation.org
- update to version 2020.10+git20.g70e3608cb
* 2cac07c93 Regenerate unicode_db to fix minor comment difference
* 477860278 Merge in changes from samcvs unicode 13 update branch
* 56fca429a Re-add accidentally remove parenthesis
* 7167b3d18 Remove unused, unneeded and misspelled block filter
* cefec1fba Regenerate Unicode database files for v13.0, v13.1
* f212c0814 Update generation scripts for Unicode 13.0, 13.1
-------------------------------------------------------------------
Sat Oct 31 22:24:35 CET 2020 - nine@detonation.org
- update to version 2020.10+git13.g1eda12a0a
* 1eda12a0a Use `foo(void)` instead of just `foo()` for functions that take no arguments
-------------------------------------------------------------------
Sat Oct 31 18:41:38 CET 2020 - nine@detonation.org
- update to version 2020.10+git12.g004e4bc77
* 004e4bc77 The probe for `pthread_setname_np` needs prototypes from <string.h>
-------------------------------------------------------------------
Tue Oct 27 19:13:34 CET 2020 - nine@detonation.org
- update to version 2020.10+git11.g608b90eb1
* 608b90eb1 No need to MVMROOT `root` twice in `get_attribute`.
-------------------------------------------------------------------
Tue Oct 27 09:37:35 CET 2020 - nine@detonation.org
- update to version 2020.10+git10.g2a98b8f3a
* 2a98b8f3a MVM_nativeref_{read,write}_lex_i should handle uint8, uint16, uint32
-------------------------------------------------------------------
Tue Oct 27 08:17:33 CET 2020 - nine@detonation.org
- update to version 2020.10+git9.g55964708f
* 55964708f `swap_bytes` in utf16.c needs to also swap bytes on big endian platforms.
-------------------------------------------------------------------
Mon Oct 26 12:49:36 CET 2020 - nine@detonation.org
- update to version 2020.10+git8.g4ced726fe
* 4ced726fe Use MVM_{malloc,realloc,calloc,free} consistency.
-------------------------------------------------------------------
Mon Oct 26 11:29:34 CET 2020 - nine@detonation.org
- update to version 2020.10+git7.gd7a2c9feb
* dfbdcc9de Add casts to calls to `switch_endian` to avoid compiler warnings.
* cbb92b038 The inline `memcpy` replacement can be adapted for big-endian platforms.
* a37cd7633 The inline `memcpy` replacement can be used on all little-endian platforms.
-------------------------------------------------------------------
Sun Oct 25 10:57:34 CET 2020 - nine@detonation.org
- update to version 2020.10+git3.g5c791a481
* 88722e8ec Fix zeroing of reallocated memory in MVM_recalloc
-------------------------------------------------------------------
Sat Oct 24 20:29:35 CEST 2020 - nine@detonation.org
- update to version 2020.10+git1.g817937f92
* 158e634b8 Bump VERSION for release
* 544eb57ac Update ChangeLog for 2020.10 release
-------------------------------------------------------------------
Sat Oct 24 12:45:34 CEST 2020 - nine@detonation.org
- update to version 2020.09+git20.gf99bc2ce7
* f99bc2ce7 Revert "Fix memory leak in resolve_param_interns"
* 1db1cd148 Revert "Fix interning of parametric types in precompilation"
-------------------------------------------------------------------
Sat Oct 24 11:09:33 CEST 2020 - nine@detonation.org
- update to version 2020.09+git18.g3c3a24bff
* 3c3a24bff Fix two *printf size warnings reported on ILP32 platforms.
-------------------------------------------------------------------
Thu Oct 22 20:45:35 CEST 2020 - nine@detonation.org
- update to version 2020.09+git17.ga989f7b55
* a989f7b55 `char` can be unsigned. Rewrite the "is it ASCII?" test to handle this too.
-------------------------------------------------------------------
Wed Oct 21 14:53:34 CEST 2020 - nine@detonation.org
- update to version 2020.09+git16.g4f5787d3c
* 4f5787d3c Create a unicode.c with #include directives instead of generating it with cat.
-------------------------------------------------------------------
Tue Oct 20 22:53:34 CEST 2020 - nine@detonation.org
- update to version 2020.09+git15.g4b06df1a6
* 882dbf04a Add a function to fix up the STD IO handles
-------------------------------------------------------------------
Tue Oct 20 22:05:35 CEST 2020 - nine@detonation.org
- update to version 2020.09+git13.gdc50edddc
* dc50edddc For the pthread_setname_np probe, use an auto char array instead of malloc.
-------------------------------------------------------------------
Sun Oct 18 09:01:34 CEST 2020 - nine@detonation.org
- update to version 2020.09+git12.g8c41f6692
* 8c41f6692 Fix memory leak in resolve_param_interns
-------------------------------------------------------------------
Sat Oct 17 16:29:34 CEST 2020 - nine@detonation.org
- update to version 2020.09+git11.gb6d064a69
* b6d064a69 Fix interning of parametric types in precompilation
-------------------------------------------------------------------
Tue Oct 13 20:13:35 CEST 2020 - nine@detonation.org
- update to version 2020.09+git10.g8d7a80d55
* 95d217032 Minor optimization of MVM_file_isexecutable on Windows
-------------------------------------------------------------------
Tue Sep 29 15:57:35 CEST 2020 - nine@detonation.org
- update to version 2020.09+git8.g60070970c
* 60070970c oops if MVM_fixed_size_alloc() is called for a size of 0 bytes.
-------------------------------------------------------------------
Tue Sep 29 13:49:35 CEST 2020 - nine@detonation.org
- update to version 2020.09+git7.gfb9929508
* fb9929508 Add MVM_str_hash_iterator_target_deleted() for HASH_DEBUG_ITER.
* 0015fd05b Re-instate meaningful hash iterator debugging inside HASH_DEBUG_ITER.
-------------------------------------------------------------------
Mon Sep 28 17:33:34 CEST 2020 - nine@detonation.org
- update to version 2020.09+git5.ga27c78829
* a27c78829 The lookup table in MVP_round_up_log_base2() can be uint8_t.
* 8852896dc A more complete fix for the hash max probe distance bug.
-------------------------------------------------------------------
Sat Sep 26 16:13:34 CEST 2020 - nine@detonation.org
- update to version 2020.09+git3.gcd8e18280
* df77d3cf7 Simplify and optimize isprime_I
-------------------------------------------------------------------
Sat Sep 26 11:57:34 CEST 2020 - nine@detonation.org
- update to version 2020.09+git1.g346832e68
* 498de20f9 Bump VERSION for release
* 1eb8851ea Update ChangeLog for 2020.09 release
-------------------------------------------------------------------
Fri Sep 25 16:29:34 CEST 2020 - nine@detonation.org
- update to version 2020.08+git104.g25c70bfe0
* 25c70bfe0 Hash tables must also resize if the max probe distance is hit on an empty slot.
-------------------------------------------------------------------
Tue Sep 22 14:53:34 CEST 2020 - nine@detonation.org
- update to version 2020.08+git103.g34e0fb55e
* 077219993 Correctly align object references (ie pointers) in P6opaque object bodies.
* 87ad486f3 sparc32 does not support unaligned 32 bit reads or writes.
-------------------------------------------------------------------
Tue Sep 22 14:37:34 CEST 2020 - nine@detonation.org
- update to version 2020.08+git100.g39743de41
* 124fe2be9 copy_to should call MVM_gc_write_barrier with the *new* key's address.
* 96d32a1ad Don't duplicate file existence checks
* b243d0178 Fix MVM_file_isexecutable() when being root
-------------------------------------------------------------------
Mon Sep 21 15:41:36 CEST 2020 - nine@detonation.org
- update to version 2020.08+git95.g21992e6f0
* 50d3311c7 Better specialize boolification of boxed Num
-------------------------------------------------------------------
Wed Sep 16 22:05:34 CEST 2020 - nine@detonation.org
- update to version 2020.08+git93.g1fdfdf59c
* 1fdfdf59c Fix endless recursion and segfault in dump_p6opaque
-------------------------------------------------------------------
Wed Sep 16 16:45:36 CEST 2020 - nine@detonation.org
- update to version 2020.08+git92.g322c2e0b4
* 322c2e0b4 Comments and ASCII diagrams explaining the hash structure.
-------------------------------------------------------------------
Thu Sep 3 18:11:34 CEST 2020 - nine@detonation.org
- update to version 2020.08+git91.g590bac47e
* 590bac47e Add MVM_str_hash_next_nocheck, which skips the MVM_str_hash_at_end check.
* e3ad7ced6 Refactor while((foo = MVM_str_hash_current(...)) { ... } loops.
* 1ef6a37ba Replace MVMIter's use of MVM_hash_end with MVM_hash_start.
* fbfc8a0ff Testing `hashtable->cur_items == 0` is a better idea in MVM_str_hash_first.
-------------------------------------------------------------------
Tue Sep 1 20:51:55 CEST 2020 - nine@detonation.org
- update to version 2020.08+git87.g9caec0fca
* 9caec0fca deserialization: rely on knowledge of owned_objects REPR
* f01930b55 introduce MVM_VMArray_push
* b37770a7d deserialization: rely on known REPR in read_array_var/int/str
* 429bd31fa introduce MVM_VMArray_bind_pos
* 88efde452 deserialization: rely on P6str REPR being known
* 2dfe1c53d introduce MVMP6str_get_str and MVMP6str_set_str
* f029d3c71 deserialization: use P6int repr being known in read_ref
* 9c6bb7abc deserialization: rely on MVMHash being the known repr
* a526f4240 remove tiny indirection from MVMHash_at_key/bind_key
* effc55497 P6int: make set_int and get_int globally available
-------------------------------------------------------------------
Mon Aug 31 14:28:35 CEST 2020 - nine@detonation.org
- update to version 2020.08+git77.g51d399cb5
* e541297ec oops() with an informative message if hashtable->entry_size has not been set.
* 6c4ba42f3 Don't try to use a NULL debug locals hash
* 3cf443249 UTHash is what we *had*. It's past tense now. :-)
* 46d60c7bb Rename MVM_index_hash_*_nt() to *_nocheck().
* 8e24dc61e Rename MVM_fixkey_hash_*_nt() to *_nocheck().
* 8a9586eed Rename MVM_str_hash_*_nt() to *_nocheck().
* 0ac642851 Correct a comment. Remove a blank line.
* 976a070c3 Remove 2 references to uthash and one to MVM_HASH_GET.
* ac6c5be01 Implement initial hash sizes without repeating the "key right shift" logic.
* 282ea895e MVM_str_hash_build now takes an entry count for the hash.
* 2c7f96c28 MVM_uni_hash_build now takes an entry count for the hash.
* a644e33fd MVM_index_hash_build now takes an entry count for the hash.
* 390f30d49 Move `pos` first in struct MVMStrHashIterator.
* 754490c73 Eliminate uthash. It served us well, and earned a happy retirement.
* ba847c259 Hash randomisation for MVMStrHashTable.
* b0dac61c7 MVM_str_hash_fsck.
* d35c6e39d Fix a typo. In five places.
* df72ab3d3 Hash iterators now run in "reverse", from the largest index down to 0.
* bac1ae1cf Re-implement MVMStrHashTable as a Robin Hood Hash.
* 287d41ebd The JIT template for MVM_OP_sp_boolify_iter_hash will no longer work.
* f03ba4639 Revert "Spesh and JIT get(cur)?hllsym"
* b08f8d45c Re-implement MVMFixKeyHashTable as a Robin Hood Hash.
* b13d3de8c Re-implement MVMPtrHashTable as a Robin Hood Hash.
* be2f129cd Re-implement MVMIndexHashTable as a Robin Hood Hash.
* e81219d48 Refactor MVM_uni_hash_insert in terms of MVM_uni_hash_lvalue_fetch.
* 5660597a5 Re-implement MVMUniHashTable as a Robin Hood Hash.
* d9c31aef4 Convert loaded_compunits from a MVMStrHashTable to a MVMFixKeyHashTable.
* 58193f0a6 Add MVM_string_hash_code, which encapsulates access to the string's hash code.
* 9f83de80c Add container_registry's keys in MVM_gc_root_add_instance_roots_to_worklist.
* d359a605b Remove all of the UT hash functional macros (and most of uthash.h)
* d85f38d80 Migrate the other internal Unicode hashes to MVMUniHashTable.
* a02c8e708 Add MVMUniHashTable, and use it to re-implement codepoints_by_name.
* 04843cb1d Delete more now-unused MVM_HASH macros and inline functions.
* 1ea0e5203 Convert `seen` in MVMHeapSnapshotState to MVMPtrHashTable.
* 2cce73195 Add MVMPtrHashTable, for hashes mapping a pointer to a pointer-sized integer.
* 1413f9ce1 Eliminate the last two uses of the macro MVM_HASH_KEY
* 41175efcb Printing the pointer address of the MVMString isn't adding anything.
* e6e5cc901 Convert repr_hash to MVMIndexHashTable, repr_list to repr_names & repr_vtables
* 2181d48db Add MVMIndexHashTable, for hash lookups into an array of MVMString*.
* 1b20ca882 Re-order the representations registry into ID order.
* 9d0f1b326 Replace MVM_str_hash_bind_nt with MVM_str_hash_insert_nt.
* ebd07472e Replace MVM_str_hash_unbind with MVM_str_hash_delete
* 0f0d21035 Use MVM_str_hash_lvalue_fetch instead of a fetch/bind pair.
* 4af853d74 Comments clarifying why each oops call added makes valid assumptions.
* 1aacf8f49 Convert MVMHash and HashAttrStoreHashAttrStore to MVMStrHashTable.
* cff7a0cda Converge the implementations of MVMHash and HashAttrStore
* 2bf3a4e2b Move code from interp.c to MVMiter.h to avoid breaking encapsulation.
* 14d113341 Convert debug_locals to a MVMStrHashTable.
* 5e146efb4 For the record, this bug in MVM_str_hash_unbind() took many hours to find.
* 07c7b4fe0 Convert sc_weakhash to MVMStrHashTable.
* c3df90ea9 Convert extop_registry to MVMFixKeyHashTable.
* 54899926c Convert compiler_hll_configs and compilee_hll_configs to MVMFixKeyHashTable.
* 9b4239544 Convert callback_data_handle to a MVMStrHashTable.
* 0418b7af6 Convert ext_registry to a MVMFixKeyHashTable.
* 3043135cf Implement MVMFixKeyHash, a MVMStrHashTable with keys at fixed addresses.
* aba462b28 Convert loaded_compunits to a MVMStrHashTable.
* 2a271e169 Hash iterators for MVMStrHashTable.
* 040e9d635 Implement MVMStrHash, which is UT Hash rearranged to be "right way out".
* 215854f8b Check MVM_str_hash_key_is_valid before taking a mutex.
* 2c294cbf8 Use MVM_str_hash_key_is_valid in bytecode.c to replace MVM_HASH_BIND_FREE.
* c61c18a2c Add MVM_str_hash_key_is_valid and MVM_str_hash_key_throw_invalid.
* b74b94d5f In MVMHash serialize, keys come from the hash so must be concrete strings.
* fc9dd762e Reorder alloc/free of `c_key_name` in the debug server.
* 6441fa6b1 Return `MVMHeapSnapshotSeen *` from seen in heapsnapshot.c
* 381e3d699 MVMObjectId.gen2_add is now uintptr_t, instead of an actual pointer.
-------------------------------------------------------------------
Sun Aug 30 12:52:34 CEST 2020 - nine@detonation.org
- update to version 2020.08+git11.gc3941772c
* c3941772c commit "macroify mallocs" script
-------------------------------------------------------------------
Sun Aug 30 11:32:35 CEST 2020 - nine@detonation.org
- update to version 2020.08+git10.g72ea4fc0d
* 72ea4fc0d don't forget to pull in stdlib.h to get size_t
* 636656402 Make memmem impl usable from multiple places
* 489ab6960 Give a specific error when MVM_platform_mmap_file fails
* da8a38570 make moar --dump use memmem to find "MOARVM\r\n" string
-------------------------------------------------------------------
Tue Aug 25 23:16:37 CEST 2020 - nine@detonation.org
- update to version 2020.08+git6.g15a76dcb3
* 29ce8171f Update libuv to v1.39.0
-------------------------------------------------------------------
Sat Aug 22 16:36:35 CEST 2020 - nine@detonation.org
- update to version 2020.08+git4.g0e7417add
* f877443fb Bump VERSION for release
* 7fe09419d Update ChangeLog for 2020.08 release
-------------------------------------------------------------------
Thu Aug 13 11:32:38 CEST 2020 - nine@detonation.org
- update to version 2020.07+git19.g9a5203395
* 7f854e655 Shrink `flags1` and `flags2` in struct MVMCollectable down to MVMuint8.
* 497748f71 Split `flags` in struct MVMCollectable into `flags1` and `flags2`.
-------------------------------------------------------------------
Mon Aug 10 13:24:36 CEST 2020 - nine@detonation.org
- update to version 2020.07+git16.g03d3e43fa
* da2377176 MVM_malloc_trim would be better after MVM_gc_collect_free_gen2_unmarked
-------------------------------------------------------------------
Fri Aug 7 17:40:38 CEST 2020 - nine@detonation.org
- update to version 2020.07+git14.g656142e21
* 393ae5799 Fix case insensitive string matching with an empty string
-------------------------------------------------------------------
Fri Jul 31 13:08:37 CEST 2020 - nine@detonation.org
- update to version 2020.07+git12.g0a06f80c7
* f6f12f5a9 Fix some new compiler warnings
-------------------------------------------------------------------
Tue Jul 28 16:36:36 CEST 2020 - nine@detonation.org
- update to version 2020.07+git10.g7a2881a85
* 7a2881a85 debugserver: implement simplest decont operation
* c0ed9e32b make extop marks reachable again in MVM_op_get_mark
-------------------------------------------------------------------
Tue Jul 28 01:24:38 CEST 2020 - nine@detonation.org
- update to version 2020.07+git8.g2a9f0f06f
* 2a9f0f06f debugserver: actually react to FindMethod
* b78b523d6 debugserver: add "name" field for FindMethod
-------------------------------------------------------------------
Mon Jul 27 01:40:59 CEST 2020 - nine@detonation.org
- update to version 2020.07+git6.g1f182b48c
* 1f182b48c new Configure.pl flag: --dtrace
-------------------------------------------------------------------
Fri Jul 24 13:56:37 CEST 2020 - nine@detonation.org
- update to version 2020.07+git5.g0c33c5380
* 6d5a3b02d Make Configure.pl executable again
-------------------------------------------------------------------
Mon Jul 20 20:33:40 CEST 2020 - nine@detonation.org
- update to version 2020.07+git3.gb56e62f18
* b56e62f18 Fix markup
* f35ccc92a Add missing comma
* d2346d44a Bump VERSION for release
* 74a44f1ac Update ChangeLog for 2020.07 release
-------------------------------------------------------------------
Fri Jul 17 00:02:42 CEST 2020 - nine@detonation.org
- update to version 2020.06+git34.gd564695f6
* d564695f6 fix the most obvious use-after-free in history
-------------------------------------------------------------------
Thu Jul 16 22:26:40 CEST 2020 - nine@detonation.org
- update to version 2020.06+git33.g127803247
* 127803247 set debugserver's thread name
* 707f6ce70 Debugserver Protocol 1.2: add thread "name" field
-------------------------------------------------------------------
Thu Jul 16 21:38:46 CEST 2020 - nine@detonation.org
- update to version 2020.06+git31.g1d52655e2
* 1d52655e2 decode threadname with utf8-c8
* 8e75378f1 go through some pains to cut string length to 15 bytes
-------------------------------------------------------------------
Thu Jul 16 20:34:44 CEST 2020 - nine@detonation.org
- update to version 2020.06+git29.g953bac6ca
* 953bac6ca fix setting thread name in eventloop and spesh worker
* 44504309e introduce the setthreadname op
* 0a0a9ba96 use Configure.pl to find out if pthread_setname_np exists
* 183becd24 ensure _GNU_SOURCE is defined when including pthread
-------------------------------------------------------------------
Thu Jul 16 16:18:44 CEST 2020 - nine@detonation.org
- update to version 2020.06+git25.g2a3290df9
* 2a3290df9 let's see if this code taken from stackoverflow is right
* a4cb0c516 give io loop thread and spesh thread a name
* 32ce5f973 constant-fold spesh-time-known unbox/decont_n/s
-------------------------------------------------------------------
Thu Jul 9 22:26:39 CEST 2020 - nine@detonation.org
- update to version 2020.06+git22.gaf5b89b64
* af5b89b64 when turning return to box in inline, give known type flag
* 9a9ca4349 propagate facts in set elimination in one more case
-------------------------------------------------------------------
Sat Jul 4 00:50:43 CEST 2020 - nine@detonation.org
- update to version 2020.06+git20.g187b4564e
* 187b4564e add spesh comments for unbox_n and unbox_s being optimized
* 780b12afb unbox_i/decont_i on P6opaque may be constant-folded
* 0a7ab6d05 "optimize" coerce_iu and _ui by turning it into a "set"
* bf4de7bc9 in spesh, optimize bitwise int math if values are known
-------------------------------------------------------------------
Fri Jul 3 08:50:44 CEST 2020 - nine@detonation.org
- update to version 2020.06+git16.g82ebd0ed6
* efa8ac2fd Revert "Declare loop var before loop"
-------------------------------------------------------------------
Mon Jun 29 20:18:42 CEST 2020 - nine@detonation.org
- update to version 2020.06+git14.g5832b2628
* 193748846 Add JIT templates for return_(i|n|s)
-------------------------------------------------------------------
Sun Jun 28 18:26:36 CEST 2020 - nine@detonation.org
- update to version 2020.06+git12.ge5d597d18
* e5d597d18 Eliminate $annotate_anyway, which is no longer used.
* 1d00a2b59 Don't add placeholders such as "<control>" to the Unicode names lookup hash.
* 07dbc19a5 Don't change the name to NULL (occasionally, if it starts with '<')
* 0369f512b Unwrap the generated codepoint_names to one entry per line.
-------------------------------------------------------------------
Sat Jun 27 22:58:39 CEST 2020 - nine@detonation.org
- update to version 2020.06+git8.gcfe6ed8f5
* cfe6ed8f5 Consistent whitespace for the initialiser for codepoint_bitfield_indexes
-------------------------------------------------------------------
Sat Jun 27 20:51:08 CEST 2020 - nine@detonation.org
- update to version 2020.06+git7.g67c8413f5
* 67c8413f5 ucd2c.pl shells out to rakudo, without checking that it ran correctly.
-------------------------------------------------------------------
Wed Jun 24 13:23:38 CEST 2020 - nine@detonation.org
- update to version 2020.06+git6.gbf6af07de
* 23dfde978 Explicitly state we use gnu99 on GCC
-------------------------------------------------------------------
Sun Jun 21 18:35:32 CEST 2020 - nine@detonation.org
- update to version 2020.06+git4.g06d8cdd16
* 06d8cdd16 Fix compiler warning in GC debug code...
-------------------------------------------------------------------
Sun Jun 21 16:16:45 CEST 2020 - nine@detonation.org
- update to version 2020.06+git3.g0c651c23b
* 0c651c23b ftp.unicode.org no longer works with curl's default ftp method.
-------------------------------------------------------------------
Sat Jun 20 14:47:44 CEST 2020 - nine@detonation.org
- update to version 2020.06+git2.g7d5cc1f3a
* 7d5cc1f3a Fix changelog
-------------------------------------------------------------------
Sat Jun 20 14:11:40 CEST 2020 - nine@detonation.org
- update to version 2020.06+git1.g1a45d28a4
* dd39f4a5e Bump VERSION for release
-------------------------------------------------------------------
Sat Jun 20 13:07:40 CEST 2020 - nine@detonation.org
- update to version 2020.05+git98.g29cc53bfe
* 29cc53bfe Update ChangeLog for 2020.06 release
-------------------------------------------------------------------
Wed Jun 17 13:55:39 CEST 2020 - nine@detonation.org
- update to version 2020.05+git97.gb5bb4f8d1
* fc092556b Declare loop var before loop
-------------------------------------------------------------------
Mon Jun 15 15:15:40 CEST 2020 - nine@detonation.org
- update to version 2020.05+git95.gc177e85cc
* c177e85cc Remove two unused variables
-------------------------------------------------------------------
Mon Jun 15 14:59:43 CEST 2020 - nine@detonation.org
- update to version 2020.05+git94.g9dd5914e6
* 3658e4cd1 Don't make a lookup hash for lexical names for frames with few lexicals.
* 4d0da364d Wrap all access to lexical_names with MVM_get_lexical_by_name.
* c70587551 Where possible, iterate over lexical_names_list instead of lexical_names.
* eafa7b391 Ensure MoarVM includes the correct 3rdparty libuv objects on *BSD
-------------------------------------------------------------------
Sun Jun 14 18:27:38 CEST 2020 - nine@detonation.org
- update to version 2020.05+git88.g3149bbb4f
* 3149bbb4f find_repr_by_name must hold mutex_repr_registry when reading repr_hash.
-------------------------------------------------------------------
Sun Jun 14 14:11:39 CEST 2020 - nine@detonation.org
- update to version 2020.05+git87.g12c7a44a8
* 12c7a44a8 In MVMLexicalRegistry, `lexreg[i]->value` is always `i`.
* 5d98d8eb6 In struct MVMDLLRegistry, `name` is never read or used after assignment.
-------------------------------------------------------------------
Sat Jun 13 22:11:39 CEST 2020 - nine@detonation.org
- update to version 2020.05+git85.g02c8cf777
* 8eb552323 Fix some possible double frees
-------------------------------------------------------------------
Sat Jun 13 21:39:40 CEST 2020 - nine@detonation.org
- update to version 2020.05+git83.ge1de26182
* 06f041fb0 Fix build an FreeBSD
* 20a2a9114 Introduce UV_BSD to avoid duplication in Makefile
-------------------------------------------------------------------
Sat Jun 13 16:51:40 CEST 2020 - nine@detonation.org
- update to version 2020.05+git80.gba34447cd
* 3256f1450 Update optimize.c
* 28dc282b9 Add missing concreteness check
-------------------------------------------------------------------
Fri Jun 12 12:35:42 CEST 2020 - nine@detonation.org
- update to version 2020.05+git77.gb9fa480ad
* a4b195936 Update libuv to version 1.38.0
* 290f518af Free REPR data before throws...
* e736c1fb8 Another case of needing to free before a throw
* 8cd9ca87c More cases of needing to free before a throw
* 0dc625f18 Add to the list of freeing functions
* 5cb235d44 Remove the unused `tc` parameter of cleanup_all
* c1c25e33f More cases of needing to free before a throw
* a5061624d Change MVM_HASH_(BIND|GET) to their _FREE variants
* 55ee90b17 Add MVM_HASH_(BIND|GET)_FREE macros
* 6cf18281d More trivial cases of needing to free before throw
* 72f720788 Move check (return value+exit handler) earlier
* 0257ecac4 Check control flow ending in a throw, not a return
* f47e6ee5a Free memory that had been allocated before a throw
* bc904b8bd Add a new GCC plugin to find cases where an...
-------------------------------------------------------------------
Thu Jun 11 18:11:38 CEST 2020 - nine@detonation.org
- update to version 2020.05+git61.g63051257b
* 63051257b Don't specialize invokes with invocation handlers
-------------------------------------------------------------------
Wed Jun 10 23:47:40 CEST 2020 - nine@detonation.org
- update to version 2020.05+git60.g852576e7d
* 852576e7d Install libzstd-dev
-------------------------------------------------------------------
Wed Jun 10 22:27:37 CEST 2020 - nine@detonation.org
- update to version 2020.05+git59.ga99ab1e4f
* a99ab1e4f Simplify the Azure CI configuration
-------------------------------------------------------------------
Tue Jun 9 14:43:38 CEST 2020 - nine@detonation.org
- update to version 2020.05+git58.ga5df9ead1
* af1475ec1 Simplify optimize_getcurhllsym
* 1a46b0ae7 Maybe fix MVM_panic from entering GC during spesh
-------------------------------------------------------------------
Sun Jun 7 15:31:41 CEST 2020 - nine@detonation.org
- update to version 2020.05+git55.g6c7ee4e8f
* 6c7ee4e8f Add a method for clearing a cached index on a MAST::Frame
* 995c70ca8 Allow for MAST::CompUnit to share its lists with an outer compilation
* a7f988940 Add methods WHICH and raku to MAST::Frame for easier debugging
* 9c758d5eb Fix duplication of lists when MAST::Frames get written to bytecode multiple times
* 520c35124 Allow for explicitly marking the mainline_frame in the bytecode
-------------------------------------------------------------------
Sat Jun 6 22:11:38 CEST 2020 - nine@detonation.org
- update to version 2020.05+git50.g5f0f7919d
* 9b60b37ca Spesh and JIT get(cur)?hllsym
-------------------------------------------------------------------
Sat Jun 6 14:59:37 CEST 2020 - nine@detonation.org
- update to version 2020.05+git48.g9e12424fb
* 9e12424fb Show index of outer lexials in bytecode dump instead of ??
* de8955822 Fix segfault in bytecode dumper when local_types is NULL
-------------------------------------------------------------------
Fri Jun 5 23:15:38 CEST 2020 - nine@detonation.org
- update to version 2020.05+git46.g1d902a15c
* ac94564c7 Simplify jobs a little
* b8506d45a Correct indentation
* 932f5c208 Shorten the job names, so more of them is visible in the Web-UI
* 631008c61 Replicate Travis build configurations
* eacb89a27 Clone the own repo using the precloned repo using the `checkout` job
* 42a2424ba Don't run JVM builds in MoarVM repo
-------------------------------------------------------------------
Fri Jun 5 17:55:33 CEST 2020 - nine@detonation.org
- update to version 2020.05+git39.ga8b086155
* 1bad1eff6 Simplify some MVM_string_ascii_encode calls
-------------------------------------------------------------------
Fri Jun 5 11:47:31 CEST 2020 - nine@detonation.org
- update to version 2020.05+git37.g6f42c67f0
* 3fe584876 Use correct encoding for deserializing strings
-------------------------------------------------------------------
Fri Jun 5 11:31:34 CEST 2020 - nine@detonation.org
- update to version 2020.05+git35.gf6d04a45b
* ee8f3af70 Always handle proc exec arguments verbatim on Windows
-------------------------------------------------------------------
Fri Jun 5 08:51:38 CEST 2020 - nine@detonation.org
- update to version 2020.05+git33.g775746944
* 396c90039 nativecall: Don't obliterate lib_name in exception text
-------------------------------------------------------------------
Thu Jun 4 14:27:38 CEST 2020 - nine@detonation.org
- update to version 2020.05+git31.gd510fef9f
* aeec50e0a Simplify counting of lexical_names
* 7a799da87 Copy lexical_names_list when copying a StaticFrame
-------------------------------------------------------------------
Thu Jun 4 08:51:37 CEST 2020 - nine@detonation.org
- update to version 2020.05+git28.g2922f3d1a
* 2922f3d1a mutex_container_registry should be held while reading from container_registry.
-------------------------------------------------------------------
Thu Jun 4 01:07:36 CEST 2020 - nine@detonation.org
- update to version 2020.05+git27.gd00fb6fb2
* 57c8bb84e Fix CStruct handling of inlined attributes
* 3f6e6582e Convert MVM_free+NULL to MVM_free_null
-------------------------------------------------------------------
Sun May 31 16:19:35 CEST 2020 - nine@detonation.org
- update to version 2020.05+git23.g46d2a1a9d
* 46d2a1a9d Add an AzureCI build badge
* fc7922e5e Add an AzureCI test setup
-------------------------------------------------------------------
Sun May 31 00:35:35 CEST 2020 - nine@detonation.org
- update to version 2020.05+git20.gee8acf9c6
* 780271899 Fix reading closed dir handles on Windows
-------------------------------------------------------------------
Fri May 29 21:55:35 CEST 2020 - nine@detonation.org
- update to version 2020.05+git18.g157387214
* 157387214 Fix closing a dir never read from on Windows
-------------------------------------------------------------------
Fri May 29 11:15:36 CEST 2020 - nine@detonation.org
- update to version 2020.05+git17.g6c30ffed8
* 17969cfb5 Remove redundant if when reading bytecode
-------------------------------------------------------------------
Wed May 20 23:33:37 CEST 2020 - nine@detonation.org
- update to version 2020.05+git15.g644533ad1
* 6ab7dab5f Backport a change in libtommath to fix build on x86 Windows
-------------------------------------------------------------------
Sun May 17 17:10:33 CEST 2020 - nine@detonation.org
- update to version 2020.05+git13.g03c9154e8
* 03c9154e8 Remove commented out profiler code (#1287)
-------------------------------------------------------------------
Wed May 13 12:22:35 CEST 2020 - nine@detonation.org
- update to version 2020.05+git12.g3605efdbf
* e4ff69495 Setup inlined CStruct assigned during construction
-------------------------------------------------------------------
Sat May 9 22:15:37 CEST 2020 - nine@detonation.org
- update to version 2020.05+git10.g5fe4a8114
* 680a8cc72 Remove prof_enter JIT template
-------------------------------------------------------------------
Fri May 8 01:27:36 CEST 2020 - nine@detonation.org
- update to version 2020.05+git8.ga48790029
* a48790029 use FSA for alloc and dealloc counts
* 269d307a8 add a layer of indirection between call graph and types/sf
* 2041902da remove a major source of space waste from alloc counts growth
* 7f33af885 jit at/bindpos for known i64 arr as call to smaller func
-------------------------------------------------------------------
Thu May 7 02:00:39 CEST 2020 - nine@detonation.org
- update to version 2020.05+git4.gc4917b192
* 565e55ce1 Fix the order of some MVM_calloc arguments
-------------------------------------------------------------------
Tue May 5 12:00:23 UTC 2020 - Stefan Seifert <nine@detonation.org>
- fix version, should be 2020.05+git2.g60b567089
-------------------------------------------------------------------
Mon May 4 22:48:35 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git167.g60b567089
* 9d3ba4eb6 Improve changelog; jnthn++
* a9cf95490 Bump VERSION for release
* 9781f0606 Log changes
-------------------------------------------------------------------
Sun May 3 17:28:38 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git163.g8b109c68b
* 8b109c68b Repetitions are actually MVMuint32
-------------------------------------------------------------------
Fri May 1 00:09:40 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git162.g3d8ff61e2
* c59514234 Use the FSA for ConcBlockingQueue
-------------------------------------------------------------------
Thu Apr 30 12:57:38 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git160.gc0fe97a68
* c0fe97a68 Fix variable might be clobbered by ‘longjmp’ or ‘vfork’ warnings in interp.c
-------------------------------------------------------------------
Thu Apr 30 10:17:35 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git159.g5863b0235
* 5863b0235 Silence a compiler warning in add_nodes_for_typed_argument
-------------------------------------------------------------------
Thu Apr 30 10:01:37 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git158.gbdf182f21
* 12d572bb5 Fix some compiler warnings seen on TravisCI
* f03b23c63 Fix some compiler warnings seen on AppVeyor
* 9294cbfcf Use memcpy instead of strncpy
* bbb0cdbed Fix some compiler warnings
-------------------------------------------------------------------
Sun Apr 26 09:30:35 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git153.g9bb7a1850
* 54ca9090f Make it const
* b6bba6945 Release excess memory allocated in MVM_string_utf8_c8_decodestream
* dbed72d76 Remove unused function ensure_buffer()
-------------------------------------------------------------------
Sat Apr 25 23:38:35 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git149.gb77aa1622
* b77aa1622 Bring back a fixed JIT building block for nextdispatcherfor
-------------------------------------------------------------------
Sat Apr 25 22:34:35 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git148.g19a7154cf
* 19a7154cf Enable JIT compilation of takenextdispatcher
-------------------------------------------------------------------
Sat Apr 25 18:18:38 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git147.gf636d2cde
* f636d2cde Revert "JIT nextdispatcherfor"
-------------------------------------------------------------------
Sat Apr 25 18:02:35 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git146.g6fd2939ae
* 6fd2939ae Try to fix issues by marking takenextdispatcher :noinline
* 8edc0b506 Don't warn about GC issues in serialization code
-------------------------------------------------------------------
Sat Apr 25 14:34:37 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git144.gc93aa0098
* c93aa0098 Fix possible access to fromspace in prepare_and_verify_static_frame
* 142257b16 Fix possible access to fromspace in MVM_string_join
-------------------------------------------------------------------
Sat Apr 25 14:18:37 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git142.g899fff969
* 899fff969 Have the GCC plugin warn about control flows leaving stuff on the temp root stack
* 24e9082dc Fix off-by-one error in the GCC plugin's temp root simulation
-------------------------------------------------------------------
Sat Apr 25 13:14:35 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git140.gdae0220b0
* dae0220b0 Fix possible access to fromspace in optimize_method_lookup
* 7c7867c67 Fix possible access to fromspace in MVM_spesh_inline_try_get_graph_from_unspecialized
* 60a1a287e Document cases where we know that no GC issues can appear
* c2cf2f25b Fix possible access to fromspace in MVMContext's at_key
* 070d0e66a No longer MVMROOT MVMCompUnits as they are always allocated in gen2
* 20c4a4a24 Warn about unncessessary MVMROOTs for MVMCompUnit and MVMStaticFrameSpesh
* 3ecce8be8 Don't treat variables initialized with NULL as being initialized with a GC managed object
* 00def9fd9 Detect simple cases of allocations in gen2
* 1fd9efae4 Don't check MVMCompUnit and MVMStaticFrameSpesh - always allocated in gen2
* 863e4104f Fix possible acces to fromspace in MVM_vm_event_subscription_configure
* f3cdc7575 Fix possible access to fromspace in throw_closure_serialization_error
* f9ca5cb05 Fix possible access to fromspace in MVM_decoder_take_bytes
* 833339332 Fix possible access to fromspace in various async I/O functions
* fd2742286 Fix possible access to fromspace in request_all_threads_resume
* 603831672 Fix possible access to fromspace in MVM_debugserver_notify_unhandled_exception
* 9b011b033 Fix possible access to fromspace in MVM_nativecall_invoke
* a39b63c99 Fix possible access to fromspace in MVM_hll_set_config
* 62dc6c7f7 Fix possible access to fromspace in MVM_frame_binddynlex
* c48e40b5b Fix possible access to fromspace in MVM_frame_find_dynamic_using_frame_walker
* 51ab0cb2f Fix possible access to fromspace in MVM_frame_lexical_lookup_using_frame_walker
* 8a7e56d9c Fix possible access to fromspace in MVM_frame_find_lexical_by_name_outer
* 651dc59de Fix possible access to fromspace in MVM_frame_debugserver_move_to_heap
* a5e1fdd99 Fix possible access to fromspace in MVM_frame_invoke
* 845e8a3f1 Fix possible access to fromspace in MVM_frame_vivify_lexical
* a95e5ac32 Fix possible access to fromspace in MVM_bytecode_finish_frame
* e9baae8dc Fix possible access to fromspace in prepare_and_verify_static_frame
* ad70770e1 Fix possible access to fromspace in op findsym
* 49ac793da Fix possible access to fromspace in panic_unhandled_ex
* 5f783ec9d Fix possible access to fromspace in MVM_exception_backtrace_strings
* 755309975 Properly model control flow in check-roots.py
* d4637c1a0 Ignore allocations before variable gets overwritten with function results
* 57e798527 Add a full list of MVMCollectable types to check-roots.py
* 4fbd2d0e2 Proof of concept of a GCC plugin for detecing GC violations
-------------------------------------------------------------------
Sat Apr 18 15:38:30 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git107.gab089e947
* 02486a319 fixup! Adding to assertions of alignment invariant to st->size in P6opaque.c
* 1eba4e8b3 I missed this align_to before.
* e932be9ac This align_to is unnecessary.
* 5d65d9e64 fixup! Aligning offsets in P6opaque.c
* bcf3969d8 Aligning offsets in P6opaque.c
* e6e36fbfd Adding to assertions of alignment invariant to st->size in P6opaque.c
-------------------------------------------------------------------
Sat Apr 18 15:22:33 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git100.gc7a491554
* 233609b52 Fix some Clang compiler warnings in the profiler
-------------------------------------------------------------------
Sat Apr 18 14:34:36 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git98.g31bdc535a
* c1b28ca76 Revert to treating all addresses like those meant for passive sockets
-------------------------------------------------------------------
Fri Apr 17 19:06:31 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git96.g4ddc33f3d
* 5c9510c32 Caused MVM_panic when prof-comp CORE.e
* 3758e9a82 Causes segv when prof-comp install-core-dist.raku
* 1c392b4e4 Causes MVM_panic when profiling adding multi infix
* 4dc99b55d Add more ops to be profiled for allocations
-------------------------------------------------------------------
Fri Apr 17 18:34:31 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git91.g60850e772
* dcbdb571a Fix SEGV in MVM_spesh_plugin_guard_list_mark
-------------------------------------------------------------------
Fri Apr 17 17:46:31 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git89.g57592e616
* bb27aeb11 Don't null-terminate string when stringifying int
* bceb3398a Use smaller buffer for native int to str coercion
-------------------------------------------------------------------
Fri Apr 17 15:06:31 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git86.gab3f19251
* 0ce4cbe94 Simplify write_s since encode can append to a buf
* 05c290522 Allow nqp::encode() to take a preallocated buffer
-------------------------------------------------------------------
Fri Apr 17 14:50:32 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git83.g6546027a1
* 6546027a1 Improve handling of errors in native callbacks
-------------------------------------------------------------------
Fri Apr 17 13:46:31 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git82.gca6534d20
* ca6534d20 Fix deadlock when trying to report an unsupported NativeCall return type
-------------------------------------------------------------------
Fri Apr 17 12:10:55 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git81.g1aa555fe1
* 1aa555fe1 Fix segfault caused by freed comp unit strings when profiling
-------------------------------------------------------------------
Sat Apr 11 21:14:34 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git80.g32dfe7507
* 6975a6595 Add missing parentheses
-------------------------------------------------------------------
Thu Apr 9 15:23:36 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git78.ge7fee00d1
* aaef289ac Include system headers after headers local to MoarVM in the Makefile
-------------------------------------------------------------------
Tue Apr 7 16:59:36 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git76.gec53e4dfc
* ec53e4dfc Give MVMSpeshAnn an "order" field, use it for comments
-------------------------------------------------------------------
Mon Apr 6 08:43:35 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git75.g838e6836e
* a4689f90a Avoid null pointer in backtrace and avoid segfault
-------------------------------------------------------------------
Wed Apr 1 18:51:31 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git73.gc7e75be60
* 035eae193 Fix interned callsites getting leaked when fixing up inlines
-------------------------------------------------------------------
Wed Apr 1 18:35:34 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git71.g1bd5f19e0
* 1bd5f19e0 Fix copy-pasta
* 6baf0de4a Add a value_desc_cont container descriptor
-------------------------------------------------------------------
Sun Mar 29 20:28:34 CEST 2020 - nine@detonation.org
- update to version 2020.02.1+git69.g16ff1585e
* 4fb85a017 Add missing break statement
-------------------------------------------------------------------
Sat Mar 28 15:44:32 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git67.g3438ad2a4
* 3438ad2a4 Fix copy pasta in lego JIT implementation of takenextdispatcher
-------------------------------------------------------------------
Sat Mar 28 10:08:32 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git66.g4f08d803f
* 24f663cf5 Free malloced data before leaving the function
-------------------------------------------------------------------
Fri Mar 27 23:28:31 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git64.g21fa394a8
* 21fa394a8 Remove remnants of the old mast compiler to fix memory leak
-------------------------------------------------------------------
Fri Mar 27 22:24:31 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git63.g768e6c2f3
* 768e6c2f3 Fix invalid reads when freeing native callback cache
-------------------------------------------------------------------
Fri Mar 27 21:52:31 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git62.g77484098f
* 77484098f Fix leaking native callback cache on thread exit
-------------------------------------------------------------------
Fri Mar 27 21:36:31 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git61.g282989882
* 282989882 No longer leak all JIT code
* 92f1935d7 Fix potential segfault when failing to compile JIT code
-------------------------------------------------------------------
Fri Mar 27 20:48:34 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git59.gada1cadaa
* ada1cadaa Don't leak a (spesh) thread when running with --full-cleanup
-------------------------------------------------------------------
Fri Mar 27 19:28:33 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git58.gae71ac80d
* ae71ac80d Fix NativeCall leaking sym_name on cleanup
* c82ff9d73 Destroy vectors that were previously init'ed
-------------------------------------------------------------------
Fri Mar 27 17:36:32 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git55.gb178623ce
* 09b88efb0 Free some memory calloc'ed when making spesh plans
-------------------------------------------------------------------
Fri Mar 27 16:00:31 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git53.g48da6b291
* 48da6b291 Implement calculation of unmanaged size for CArray
-------------------------------------------------------------------
Fri Mar 27 14:56:33 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git52.g8ed5e7f5c
* edb6f8726 Free compunits loaded from bytecode upon dealloc
-------------------------------------------------------------------
Thu Mar 26 15:28:31 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git50.g15e94eecb
* 15e94eecb Bounds check codepoint passed to chr
-------------------------------------------------------------------
Thu Mar 26 14:56:33 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git49.ga6bc2a2a6
* a6bc2a2a6 Add missing args spesh coercion validation
-------------------------------------------------------------------
Wed Mar 25 13:36:36 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git48.gf2a52cf5d
* f2a52cf5d Make OSR work in frames from invokewithcapture
-------------------------------------------------------------------
Mon Mar 16 20:48:35 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git47.g3c3ad0678
* 162b68b6b JIT nextdispatcherfor
-------------------------------------------------------------------
Sat Mar 14 20:48:33 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git45.g2252a95df
* 2252a95df Revert "Fix variable might be clobbered by ‘longjmp’ or ‘vfork’ warnings in interp.c"
-------------------------------------------------------------------
Thu Mar 12 17:20:36 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git44.g04005cf43
* 0743c5df3 Update to libuv 1.35.0
-------------------------------------------------------------------
Tue Mar 10 19:12:32 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git42.g6b31c93c8
* a037db9e6 Add support for takenextdispatcher in inlining
-------------------------------------------------------------------
Mon Mar 9 22:08:33 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git40.ga2782ad27
* a2782ad27 Update appveyor perl requirement on Windows to get support for list form of pipe
-------------------------------------------------------------------
Sun Mar 8 09:20:31 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git39.gfc35d7364
* 12a447318 Fix submodule updating
-------------------------------------------------------------------
Sat Mar 7 23:12:35 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git37.gbb69a9742
* 9a706ba08 Change update-submodules.pl to not use the shell at all
-------------------------------------------------------------------
Mon Mar 2 20:48:34 CET 2020 - nine@detonation.org
- update to version 2020.02.1+git35.ga7fa6daad
* 947ebfcb0 Add nextdispatcherfor/takenextdispatcher ops
-------------------------------------------------------------------
Sun Mar 1 13:36:35 CET 2020 - nine@detonation.org
- update to version 2020.02+git35.g217317dd3
* 35730f4a3 Bump VERSION for release
* 4523b8757 Log changes for 2020.02.1 to changelog
* 0596b8bad Merge pull request #1251 from patrickbkr/dyncall-rev357
-------------------------------------------------------------------
Sat Feb 29 22:24:31 CET 2020 - nine@detonation.org
- update to version 2020.02+git31.gdb49de050
* db49de050 Fix compiler warning about variable possibly used uninitialized
-------------------------------------------------------------------
Sat Feb 29 22:08:33 CET 2020 - nine@detonation.org
- update to version 2020.02+git30.gbc06f9630
* bc06f9630 Fix variable might be clobbered by ‘longjmp’ or ‘vfork’ warnings in interp.c
-------------------------------------------------------------------
Sat Feb 29 19:28:32 CET 2020 - nine@detonation.org
- update to version 2020.02+git29.gdc8a0e800
* d2e841867 Update dyncall to rev 357
-------------------------------------------------------------------
Sat Feb 29 18:56:33 CET 2020 - nine@detonation.org
- update to version 2020.02+git27.g4e1ca4edd
* e5c7cff13 Add support for Thread Sanitizer in Configure.pl
-------------------------------------------------------------------
Wed Feb 26 19:44:32 CET 2020 - nine@detonation.org
- update to version 2020.02+git25.g69951892a
* f89ffd54c Ensure return address is up to date when throwing
* d1a856b9a One more possible argument handling instruction
* 5a2a614a4 Refuse to inline with arg op after deopt op
* 13a7a39d9 Clean up stay inline end annotations
* f12ea3f65 Remove unused certain result arg guard node
* 59680dd86 Fix candidate discarding on instrumentation
* 8c56eb289 Don't create pointless load nodes in derived spesh
* 097b497d9 Assert no guard tree buffer overrun
* e642ec213 First attempt at derived specializations
* 672b4a418 Re-implement arg guard rebuilding
* 325ad611e Use candidates for existing specialization check
* 658a36b6d Mark the type tuple stored in a spesh candidate
* b84313374 Update API for updating the arg guards
* 7791073fd Stash callsite and type tuple in spesh candidate
* 0533f19b3 Revert "More information in dupe arg guard add error"
* 56e213b9e More information in dupe arg guard add error
* 3665efadc Dump "yes" branch of certain result arg guard node
* e31de044f Give spesh dumper handling of derived plan entries
* 60712b319 Tweak spesh arg guard dumping API
* b9a5e9628 Prepare arg guards for derived specializations
-------------------------------------------------------------------
Tue Feb 25 20:32:31 CET 2020 - nine@detonation.org
- update to version 2020.02+git4.gfee45b9b4
* fee45b9b4 release.sh: enzure gzip doesn't save dates
-------------------------------------------------------------------
Tue Feb 25 19:12:32 CET 2020 - nine@detonation.org
- update to version 2020.02+git3.gc05c268b8
* c05c268b8 Make tar builds reproducible
-------------------------------------------------------------------
Sun Feb 23 16:00:31 CET 2020 - nine@detonation.org
- update to version 2020.02+git2.gbaca0c13b
* ea380e5f0 Doing an mp_clear after a failed mp_init is UB
-------------------------------------------------------------------
Sun Feb 23 12:32:33 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git49.g445de4bb6
* 445de4bb6 Bump VERSION for release
-------------------------------------------------------------------
Sat Feb 22 22:24:31 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git48.g41eacf6ad
* 41eacf6ad Log latest commit to ChangeLog
-------------------------------------------------------------------
Sat Feb 22 14:40:31 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git47.gdd20883c3
* dd20883c3 Align MVM_args_get_required_pos_num with what the JIT actually expects
-------------------------------------------------------------------
Sat Feb 22 13:20:32 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git46.ged404f544
* ed404f544 release tool: write the commit's subjects into ChangeLog
-------------------------------------------------------------------
Fri Feb 21 14:40:31 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git45.g926349cde
* 926349cde Add logging commits to ChangeLog and bumping VERSION to tools/release
-------------------------------------------------------------------
Fri Feb 21 12:16:32 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git44.g80ba23a7d
* 80ba23a7d Update ChangeLog for 2020.02 release
-------------------------------------------------------------------
Thu Feb 20 18:40:31 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git43.ga71eee4c2
* a71eee4c2 Allow closing handle bound to async proc stdin
-------------------------------------------------------------------
Thu Feb 20 13:52:32 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git42.g978480b28
* 978480b28 Mark cmp_tc static to avoid linker errors
-------------------------------------------------------------------
Wed Feb 19 18:40:32 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git41.gb0604e575
* 2cc4d3027 Revert "Dynamic library loading works with unicody paths on Windows"
-------------------------------------------------------------------
Thu Feb 13 15:28:33 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git39.g657b536cf
* 657b536cf Update dyncall submodule
-------------------------------------------------------------------
Thu Feb 13 12:16:31 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git38.g4d7c7e142
* 4d7c7e142 Clear callsite of bottom frame when uninlining
-------------------------------------------------------------------
Thu Feb 13 09:04:32 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git37.g3c48ebaa9
* 192f0433c Make nqp::rand_I respect nqp::srand again
-------------------------------------------------------------------
Tue Feb 11 20:06:50 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git35.gecddb4de5
* f7a3a5ccd Implement `--git-cache-dir` Configure.pl option
-------------------------------------------------------------------
Sun Feb 9 18:14:48 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git33.g571c731ff
* 2296bcaed New libtommath that builds bn_mp_set_double.c...
* d9c087f36 mp_clear()+MVM_free() before throwing exceptions
* 056c523db Use new functions introduced in ltm v1.2.0...
-------------------------------------------------------------------
Sat Feb 8 02:46:45 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git29.g0dd136440
* 0814ab4d8 Negative numbers should not be prime
-------------------------------------------------------------------
Fri Feb 7 21:26:51 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git27.gbf2a5d602
* f47f53110 Update libuv to version 1.34.2
-------------------------------------------------------------------
Wed Feb 5 17:03:24 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git25.g9709537d9
* 9709537d9 Serialize the names of closures
-------------------------------------------------------------------
Wed Jan 29 21:33:27 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git24.g073676116
* 5a2f4ed47 Make libtommath v1.2.0 build in our CI envs
* dfdaf19a8 Use right size+sign in comparison
* 76d34faf1 Fix accidentally switched arguments to mp_div
* f32b383cc Jit needs to know about new signature for MVM_p6bigint_store_as_mp_int
* 1d80b6038 Fixes for MVM_bigint_pow
* 10f98288c Finish handling returns from libtommath functions
* e67022405 Handle more return values from libtommath functions
* 7877b0376 Handle return value from libtommath function...
* a51428429 Correctly put ##opname in exception error messages
* 1fbbb9335 Use right value for mp_to_decimal buffer length
* 17935040a WIP handle return values from libtommath functions
* f56248139 Use mp_to_decimal instead of the now deprecated mp_toradix
* 3bbab8c4b Use mp_to_radix instead of the now deprecated mp_toradix
* 296bedfa6 Use MVM_get_random() instead of the now deprecated mp_rand_digit(n)
* e9a63e03f Use mp_expt_u32 instead of the now deprecated mp_expt_d
* 82f2719ce Use n->dp[m] instead of the now deprecated DIGIT(n, m) macro
* cfecd54bd Use n->used instead of the now deprecated USED(n) macro
* 7920f2cc4 Use n->sign instead of the now deprecated SIGN(n) macro
* cf44a3686 Use the new mp_(get|set)_* instead of the deprecated ones
* b1ff3d826 Use MP_DIGIT_BIT instead of the now deprecated MP_DIGIT
* d606d9112 Switch our libtommath to upstream's 1.2.0 tag
-------------------------------------------------------------------
Tue Jan 28 11:05:23 CET 2020 - nine@detonation.org
- update to version 2020.01.1+git2.gcbb04d462
* cbb04d462 Merge pull request #1222 from Kaiepi/dns-protocols
* ca2a4c4c5 Resolve hostnames given a socket type, protocol, and passivity
-------------------------------------------------------------------
Sun Jan 26 12:22:30 CET 2020 - nine@detonation.org
- Remove build artivacts from source tar ball
-------------------------------------------------------------------
Thu Jan 23 10:29:18 CET 2020 - nine@detonation.org
- update to version 2020.01.1
+ efb014f19 First stab at a script for automating release steps
-------------------------------------------------------------------
Thu Jan 23 07:41:02 CET 2020 - nine@detonation.org
- update to version 2020.01.1
+ [105d09d62] Fix NativeCall libraries losing state during repossession
+ [7b8ed6308,a3ec7f315,921c8de84,9d053b8e9,8ac8afcc2,611532317,0995f19b9,fce208cb1,72941ee22,
9166ea591,61ac671ea] Fix several more compiler warnings
- Remove moarvm-fix-segfaults-in-openssl.diff as the issue has been fixed upstream
-------------------------------------------------------------------
Mon Jan 6 19:44:55 CET 2020 - nine@detonation.org
- Add moarvm-fix-segfaults-in-openssl.diff fixing segfaulty regression
noticed too late for the release.
-------------------------------------------------------------------
Sun Jan 5 10:58:58 CET 2020 - nine@detonation.org
- 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
-------------------------------------------------------------------
Sun Dec 01 15:15:00 CET 2019 - nine@detonation.org
- Backport fix for buildroot in packaged files in MoarVM-buildroot-fix.diff
-------------------------------------------------------------------
Fri Nov 29 08:12:59 CET 2019 - nine@detonation.org
- update to version 2019.11
Features;
+ Update Unicode to 12.1
+ Add GB18030 encode, decode and decodestream support
+ Introduce vmevent, "VM Event Subscription"
+ Improvements to the profiler, including a new heapsnapshot format with zstd
support and improvements to the profiler's "confprog" probe language
+ Add MVM_vm_run_bytecode() as alternative to MVM_vm_run_file()
+ Improve hostname resolution with better support for IPv6
+ Partial escape analysis
+ Support JIT compilation of floating point operations
+ Support for deoptimization in the expression JIT
+ Jit getuniprop_(int|bool|str), captureposarg_n, smrt_intify
+ Various smaller performance improvements
+ Fix more than 40 garbage collection related bugs leading to segfaults and other issues
+ Make MVM_file_is_rwx honor root and groups
+ Fix crashes when destroying threads
+ Stability fixes
+ Fix pointer arithmetic in inlined CArrays in CStruct/CPPStruct REPRs
+ Put limits on local and inline counts for inlining to avoid overly long spesh blockages
+ Fixed some memory leaks
+ Improvements to the debug server
+ NativeCall: improvments to error messages
+ Improve Unicode handling with paths
+ Show correct bad bytes in encoding errors
+ Improvements to documentation
- Remove fix-build.patch as the issue has been fixed upstream
Tue Jul 18 10:10:00 CEST 2019 - nine@detonation.org
- update to version 2019.07
+ Fix several segfaults
+ Fix inlining CStruct and CUnion in CPPStruct REPR instances
+ Fix a couple of memory leaks
+ Many updates to the heap profiler
+ Make builds of mbc files reproducible
+ Many performance improvements
+ Add freemem and totalmem ops
- Add fix-build.patch with a backported fix to Configure.pl
-------------------------------------------------------------------
Tue Mar 19 09:22:56 CET 2019 - nine@detonation.org
- update to version 2019.03
+ New partial escape analysis allows objects to be replaced by registers
+ Fix memory leaks
+ Fix memory corruption issues
+ Fix wrong type selection for push_* And pop_*
+ Fix inline end annotation motion on BB deletion
+ Fix segfaults related to corrupted CStruct STables. Fixes issue #2564
+ Optimize bindattr_i on CStruct to a cheap direct memory access
+ Turn elems On VMArray Into Direct Memory Access
+ Fix nativecall refresh clearing used child object pointers
+ randscale_n and rand_I are not pure ops, so don't mark them as such
+ Support endian switching in writenum and readnum
+ Call strerror for directory errors so we get error text not just an error code on POSIX platforms
+ JIT compile getlexref_u*, stat, lstat, (open|read|close)_dir
+ Fix JITed extend_u8 accidentally extending 16 bits.
+ Fix rw args of native calls not getting updated if JIT compilation fails
+ Support double type arguments in NativeCall JIT
+ Fix call to memcpy with NULL *src in lego JIT compiler
+ Fix JIT compiled getcodename not always dieing on type objects
+ Ensure last_payload and plugin_guard_args are valid so spesh plugins can be used outside speshresolve
+ Handle non-merge case of PHI
+ Add BOOTHash to spesh cheat list
+ Disable inlining when running the debug server
+ Add a limit on spesh plugin guard set size
+ Allow dead instruction elimination in inlines
+ Teach optimize_smart_coerce About Boot Types
+ Fix harmless off-by-one preventing optimization
+ Add op name to JIT "bailed completely" error
+ Remove obsolete MAST compiler
+ Integrate scalar replacement with profiling
-------------------------------------------------------------------
Fri Dec 28 18:35:57 CET 2018 - nine@detonation.org
- update to version 2018.12
+ New (read|write)(u?int|num) ops for handling binary data
+ Replace MAST compiler by NQP code for writing bytecode
+ Fix repossessions that cause object size "changes"
+ Fix memory leak of MVMFrameExtra
+ Free spesh log entries after consuming them. Reduces memory usage
+ Add a cancel handler for filewatch tasks to prevent leaking
+ Fix double free in platform/sys.c
+ Fix "pointer cast size mismatch" warnings on 32-bit arch's to resolve issue #444
+ Correctness improvements to the profiler
+ Fix a segfault that could occur due to missing Facts
+ Teach spesh about known values for PHI nodes
+ Unblock optimizing the box_* into a fastbox. Allow box_i to go through int cache.
+ decont on nativeref shall become decont_* + box_* to more easily
+ Improved spesh log output
+ Improve handling of failure to join a thread, throw instead of
+ Use larger buffer for gethostname when available
+ Reimplement async socket introspection
+ Set callsite in frame for JIT spesh plugin resolve.
+ Discover type Facts of coerce_sI op
+ Fix a case where the UTF-16 decoder would have a corrupted final
+ Correct named argument type tuple index calc. Fixes memory access
+ Make bytecode dumper more resilient against invalid bytecode
+ Expr JIT templates for hllboolfor, radix_I, coerce_*, extend_{u,i}*, mul_i,
sp_findmeth, serializetobuf, unbox_u
+ Use arithmetic right shift in JIT of brshift_i to ensure new bits
+ Fix trunc to casting upwards
+ JIT compile coerce_sI, param_rp_u, coerce_us, unbox_u, extend_{i8,u8,u32} and
trunc_{i8,u8}, decodertakeallchars, writeint, writeuint, coerce_(iu|ui),
extend_[ui]16, trunc_u(16|32)
-------------------------------------------------------------------
Sun Nov 11 20:51:00 CET 2018 - nine@detonation.org
- update to version 2018.10
+ Improved performance and randomization of hashes
+ Speed up various string operations
+ Various Unicode fixes
+ Improves support for native ints and unsigned ints
+ Atomic ops for object attributes
+ Improvements to debugserver
+ Improvements to the JIT compiler
+ Plugin infrastructure for spesh
+ Fixes to memory leaks
+ Sort hashes before serialization for more reproducible builds
+ Implement one dimensional inlined shaped CArrays
+ Lots of small fixes and performance improvements
-------------------------------------------------------------------
Mon Jul 30 04:15:47 UTC 2018 - bwiedemann@suse.com
- Add reproducible.patch to make build independent of build system
CPU type (boo#1100677)
-------------------------------------------------------------------
Tue May 1 08:39:34 CEST 2018 - nine@detonation.org
- update to version 2018.04.1
+ Fix precision in Num and use Grisu3 algorithm for stringification
+ Use vectorization to speed up many string operations
+ Add support for the windows-932 variant of the ShiftJIS encoding
+ Fix bug in windows-1252 when a replacement occurs in the last position of the input stream
+ JIT expr templates for getstringfrom and getwvalfrom
+ JIT floor_n, continuationinvoke, ctx and a few ops that ThreadPoolScheduler uses
+ Measure and report time spent on JIT compilation
+ Ensure memory blocks in the nursery are aligned where necessary
+ Spot use of an item already put in a gen2 freelist
+ Suspend other threads during global destruction
+ Fix missing GC mark of deserializer contexts list
+ Optimize getrusage and log it in the profile
+ Add getsignals op, queries for valid signals
+ Guard against negative and zero signals in MVM_io_signal_handle
+ Make tryfindmeth not throw in some cases it did
+ Add missing write barrier enforcement in CPPStruct, CStruct
+ Use Fixed Size Allocator for all_scs list
+ Fix segfault on concurrent array access while resizing
+ Mark thread blocked around getaddrinfo
+ Convey the process ID of a started child
+ Fix optimization of wvals
+ Fix negated spesh of known type
+ Add optimize_unbox
+ Fix issues with optimization of boolean tests
+ Insert null-out-instructions before prof_enter
+ Cut module names out of filenames
+ Add metadata for ReentrantMutex and Semaphore
+ Fix loading bytecode on big endian systems
+ Correct lazy static lexical deserialization
+ Fix bytecodedump to understand inlines
-------------------------------------------------------------------
Tue Mar 20 08:21:34 CET 2018 - nine@detonation.org
- update to version 2018.03
+ Add remote debugging support, optionally enabled with the --debug-port option
+ Add getppid op. Allows a child process to get the parent process id, and thus
+ Use uv_fs_copyfile API in MVM_file_copy
+ Make IO signal handlers cancellable
+ Add an tryfindmethod op which evaluates to null in the event that the method
+ Ignore libuv-caused "fake" empty datagrams
+ Expose both hostname and port of received datagrams
+ Add proper support for strict decoding and replacements in decodestream for windows1252/1
+ Add some string consts in MVMStringConsts for MVMDecodeStream
+ optimize eq_s and ne_s against empty string in spesh
+ Bump libuv version 1.19.2
+ Add JIT templates for more than 50 ops
+ Fix several bugs in the expr JIT compiler
+ Only BAIL on DEOPT_ONE annotations on actual guard ops in expr JIT
+ Support for threaded profiling has been added, although it is not fully stable yet
+ Clean up one-shot timers after firing
+ Fix missing argument to syncsocket error message
+ Fix EOF detection on zero-size files
+ Add windows-1251 (Cyrillic) decode/encode support
+ Make MVM_spesh_manipulate_remove_handler_successors() public
+ Fix MVM_spesh_log_decont not logging anything
+ Don't spesh log if we have a spesh_cand
+ Don't optimize getattr unless known concrete
+ Implement unmanaged_size in MVMSpeshLog repr
+ Run basic facts discovery on inlined code
+ Clean up handler successors after throwish ops become non-throwing
+ Put inlined blocks between their caller and its successor
+ Fix an off-by-one in uninline
+ Remove superfluous DEOPT_ONE_INS annotation on some deconts
+ Work around a segfault caused by type tuple without type information
+ Revive removal of dead instructions after the first inlined function
+ Fix SEGV when opening MVM_*_LOG files
+ Better error in boxed ref for repr_id mismatch
+ Merge non-control-flow basic blocks so expr JIT has more code to optimize
-------------------------------------------------------------------
Thu Feb 1 06:29:35 CET 2018 - nine@detonation.org
- update to version 2018.01
+ Faster string searching and other string improvements
+ New expression JIT
+ JIT compilation of native calls
+ Update Unicode database for Unicode 10
+ Flush standard handles at exit
+ Flush output buffer where needed
+ Various improvements to spesh
+ Lots of bug fixes
-------------------------------------------------------------------
Mon Aug 21 22:50:32 CEST 2017 - nine@detonation.org
- update to version 2017.08.1
+ Dynamic optimization moved to a worker thread
+ New statistics model for making better specialization decisions
+ New argument guard, based around a tree, which means less checks need to be
+ More efficient usage of memory in hot paths
+ Lots of bug fixes (around optimization and string handling)
+ JIT improvements
+ Performance improvements
+ Make precompiled byte code reproducible
+ Enable native callbacks on different threads
+ Update TinyMT to version 1.1
+ Implement atomic ops
+ Add nqp::coveragecontrol op
-------------------------------------------------------------------
Sat Jul 29 10:10:28 CEST 2017 - nine@detonation.org
- update to version 2017.07
+ Full Unicode 9.0 and Emoji 4.0 text segmentation support
+ Lots of speed-ups, especially in string processing and JIT compiler
+ Numerous bug fixes
+ Remove support for character level I/O - taken over by high level code
+ Remove arbitrary string repeat limit
+ Remove synchronous process support - now done using async code
+ Re-implement synchronous sockets without using libuv
+ Add ability to get port from already bind-ed socket
+ Add cpucores op to get the number of CPU cores
+ Re-implement print/say debug output ops to encode and then use binary I/O
+ Eliminate use of libuv in synchronous file handles
+ Support merge_bytes in async proc ops, for reading STDOUT and STDERR
+ Support binding handles to file descriptors in async procs
+ Add string eqat/index ignorecase+ignoremark functions
+ Add new eqaticim_s and indexicim_s ops ignorecase+ignoremark
+ Add improved support for GCB=Prepend
+ Improve Regional Indicators support during normalization
+ Serialize a Decoder REPR object into null, so incidental file handle
+ Fix newline translation in various encoding's streaming decoder
-------------------------------------------------------------------
Wed Jun 7 12:26:00 CEST 2017 - nine@detonation.org
- Explicitly state build requirement to fix build on Fedora
-------------------------------------------------------------------
Fri Jun 2 09:01:00 CEST 2017 - nine@detonation.org
- update to version 2017.05
+ Mark profiler call graphs iteratively instead of recursively
+ Keep around line number annotations in spesh, for more accurate source
+ Introduce "telemeh", a high-precision-time low-impact logger
+ Fix error reporting in chdir
+ Fix memory leak on error in chdir
+ Fix bug in index ignorecase and equal at ignorecase
+ Fix all known remaining bugs in indexic and eqatic
+ Zero slot when popping a VMArray, to avoid junk reads if it grows again later
+ Add can_fit_into_8bit funct, put logic used many places into one function
+ Use -1 instead of 0 when long right-shifting negative smallints
+ Remove workaround for tommath issue #56, which is now fixed upstream
+ Don't crash on reading a closed dir handle
+ Remove deprecated async string I/O ops
-------------------------------------------------------------------
Tue Apr 18 22:32:02 CEST 2017 - nine@detonation.org
- update to version 2017.04
+ Shorten the nursery when creating large bigints, to bring GC forward and
+ Use correct format for repeat/concat errors
+ Fix bug in indexic_s if expanding codepoint is the last codepoint
+ Speed up MVM_nfg_is_concat_stable
+ Do not set use rpath if installing into proper system locations
+ Optimize passes_quickcheck_and_zero_ccc to be much faster
+ Give this_repr constants more meaningful names to aid debugging
+ Streamline MVM_bigint_radix and MVM_radix for Nd Unicode #'s
+ Fix case-insensitive string compare bug when synthetics are in the haystack
+ Improve description for "should eventually be unreachable" error
+ Correctly detect and handle overflow in mp_get_int64
+ Split into mp_get_int64 and mp_get_uint64
+ Only allocate and normalize for cp's that require it in MVM_string_chr, and
+ Provide a better error when failing to encode surrogates in UTF-8
+ Add a cast to suppress a compiler warning in strings/ops.c
+ Factor out code from equal_at_ignore_case for use in index_ignore_case also
+ Use both hex and decimal for UTF8 encoding error messages
+ Use PRIu64 in fprintf's to fix compiler warning about incorrect types
+ Add a check that introspection->is_tty is not NULL, avoiding a crash
+ Mention debug_name in errors about uncomposed repr
+ Cope with a native type with no nativesize, but signedness
+ Remove two functions in normalize.c that have been superseded
+ Give collapse_strands a 5.4% speed boost under some workloads
+ Add MVM_string_graphs_nocheck funct, use it in places we previously already
+ Have a two-part loop in collapse strands to make loop tighter when possible
+ Implement serialize/deserialize in VMHash REPR.
+ Use memmem in string index. Uses Knuth-Morris-Pratt on glibc, and adds the
+ Fix a join NFG bug when there was an empty string and an empty seperator
+ Reorder MVMStaticFrameBody to save 16 bytes according to pahole; similarly
+ Remove arbitrary and small length range check for reading bytes from a file
+ Greatly reduce contention in the fixed-size allocator for multi-threaded
+ Mark thread GC blocked when doing synchronous writes
+ Add missing MVMROOT when reading bytes, which could result in occasional
- Remove moarvm-remove-rpath.diff as the issue has been fixed upstream.
-------------------------------------------------------------------
Sun Mar 19 10:42:38 CET 2017 - nine@detonation.org
- update to version 2017.03
+ Fix loads of performance and stability issues
-------------------------------------------------------------------
Sun Dec 18 10:19:43 CET 2016 - nine@detonation.org
- remove use of rpath in build
Patch is already included in upstream git and can be removed in the next
release.
new patch: moarvm-remove-rpath.diff
-------------------------------------------------------------------
Sun Dec 18 10:19:43 CET 2016 - nine@detonation.org
- replace patching in spec file by use of proper configure options
- update to version 2016.12
+ Decode Latin-1 and UTF-8 strings to 8-bit width when possible
+ Teach a few string functions to compress results into 8-bit storage
+ Fix for AIX's INFINITY not being a constant
+ Unlink libmoar before (re)installing it
+ Add configuration for AIX
+ Support Perl older than 5.10 for Configure.pl
+ Use "pkgconfig --libs libffi" additionally to --cflags
+ Fix powerpc detection on AIX (gcc)
+ Make multidim error messages say they are multidim
+ Add comment about where to find UNIDATA
+ Implement captureinnerlex op, for fixing QUIT/LAST phaser scoping in Perl 6
+ Fix mis-sized free in the NFG trie that only showed up in 32-bit
+ Add GC debug helper to "find" a pointer in nurseries/gen2 bins
+ Make ASSERT_NOT_FROMSPACE check fromspaces of all threads
+ Fix missing MVMROOT around an allocation
+ Fix typo in nfg.h comment
+ Fix native callback and GC interaction when embedded
+ Add GC block management functions to the public API
+ Mark throwpayload* as :throwish in oplist
+ Optimize the check for negative bignums
+ Remove useless mp_neg calls
+ Fix premature free of UV socket handles
+ Fix premature handle free in async UDP sockets
+ Add a "check every register access" GC debug mode
+ Provide a #define to disable dynlex caching
+ Provide a #define for deopt logging
+ Invalidate dynlex caches during deopt
+ Fix pow_I when it takes an exponent larger than 2**32
+ Only do MVM_ASSERT_NOT_FROMSPACE in GC debug mode
+ Add a fromspace assertion in finalize
+ Avoid a number of spesh GC invariant violations
+ Panic if we try to GC when speshing/JITing
+ Ensure we don't leak partially deserialized objects
+ Fix unrooted frame around SC object lookup
+ Remove some GC debug code
+ Avoid reading nativerefs in spesh, since it can cause boxing and thus GC
+ Cope with push being used on concurrent queues
+ MVMROOT around putting work on concurrent queue
+ MVMROOT eventloop queue when polling it
+ Do MVM_ASSIGN_REF after block/unblock in concurrent queue
+ Fix more unrooted frame around SC object lookup
-------------------------------------------------------------------
Thu Nov 24 16:33:05 CET 2016 - nine@detonation.org
- update to version 2016.11
+ Workaround tommath issue #56 which affects random bigint numbers > 32 bits
+ Fix memory leaks in nqp_nfa_run
+ Fix a sizeof arg that allocated a much-too-big buffer for callsite arg names
+ Add missing breaks in MVMString's copy_to
+ Prevent null deref when calling MVM_string_utf16_encode
+ Introduce MVM_SPESH_LIMIT, which limits how many specializations will be
+ Make sure we never box a NULL filename when creating backtraces
+ Fix the nativecall attribute error messages
+ Remove (non-existent) num16 from error message
+ Make the fixed size allocator provide useful information to Valgrind
+ Implement serialization of SCRef
+ Include file/line of unserializable closure, to aid debugging
+ Add type info when failing to bind an attribute
+ Use ffi_arg type for libffi nativecall return types
+ Handle libffi return type more correctly
+ Work around missing libatomic_ops prototype on s390x
+ Panic when trying to GC a locked mutex
+ Make VM panic output state that a panic occurred
+ Fix JIT code generation bug in nqp::exception
+ Add missing rooting of value pushed to concurrent queue
+ Add src/gc/debug.h dependency to Makefile
+ Mark a thread GC-blocked while it is in native code
+ Have "Cannot * a type object" also outputs the type's debug name
+ Don't reveal partially deserialized method cache
+ Give a bunch of exception ops REPR and debug name output
+ Prevent segfault when null string used as hash key
+ Request POSIX.1.c compliance on solaris
+ Change to use readdir insteal of readdir_r
+ give diagnostic output when compiling fails
+ Fixed readdir so it won't check old errno
+ Refactor hashes to no longer need to flatten ropes in string keys
+ Save 8 (64-bit) or 4 (32-bit) bytes per entry in the MVMHash REPR
+ Remove the deprecated flattenropes op
+ Remove now-unused MVM_string_flatten function
+ Don't treat an nread of 0 in libuv read callbacks as an error
+ Bump to latest libatomic_ops
-------------------------------------------------------------------
Sun Oct 16 13:33:10 CEST 2016 - nine@detonation.org
- update to version 2016.10
+ Fix build without libtommath source
+ Make MVM_file_open_fh() throw if the file we opened was a directory
+ Fix bug and memory leaks in MVM_file_open_fh()
+ Add error message for likely MacOS build failure
+ Don't set inheriting process on inherited pipe, fixing a segfault
+ Update to the Unicode 9 database
+ Die on CStruct without any fields
+ Constant-fold unipropcode and unipvalcode
+ Use PRId64 instead of %d for 64 bit int format string args
+ "Cannot unbox type object" error gets debugname and native type info
+ Fix uninitialized arg_names of an MVMCallsite
+ Handle C++ constructors on libffi
+ Fix CUnion get_attribute treating inlined attrs as pointers
+ Fix 32 bit issue with rw args in NativeCall callbacks
+ Use better throw-away type for void nativecalls
+ Gracefully handle a 0 RSS reported by the Linux kernel
+ Fix "Invalid free()" in empty repossessed arrays
+ Make sure we mean "signed char" when we say "char"
+ Fix calculating structure sizes for arm64 and others
+ Disable JIT on x32, since it has a different calling convention
+ Fix pointer size unit in configure message
+ Use set_uint64 in from_num, otherwise we overflow on x32
+ Rewrite mkdir_p api, no function changes
+ Improve nativecall attribute error messages
+ Include debug_name in crossthreadwritelog and serialization errors
+ Deprecate async string I/O ops
+ Deprecate flattenropes op
+ Implement indexingoptimized op (replaces flattenropes, but is not in-place)
+ Fix memory leadk in ord_basechar_at
+ Ensure errno is grabbed before MVM_free is called
+ Make extra sure unlock only happens if lock happened
-------------------------------------------------------------------
Fri Sep 30 10:33:53 UTC 2016 - nine@detonation.org
- update to 2016.09
+ Fix various crasher bugs
+ Fix sprintf
+ Move string decoding to higher levels of the stack
+ Fix a couple of memory leaks
+ Fix deadlocks when accepting a socket
-------------------------------------------------------------------
Sun Aug 21 14:18:31 UTC 2016 - nine@detonation.org
- update to 2016.08
+ Fix various concurrency issues
+ Don't crash in P6opaque on NULL name_to_index_mapping
+ Fix off-by-one in grapheme iterator
+ Add a flag for PIPE_MERGED_OUT_ERR; fix stdio setup for merge
+ Fix EOF detection when reading files from /proc and similar
+ Fix lost socket listen errors
+ Add some missing fact dependencies in spesh, fixing some wrong guard eliminations
+ Avoid use of possibly-invalidated decont facts in spesh
+ Remove keep_caller from MVMFrame
+ Correctly NULL-terminate the buffer in MVM_vm_dump_file
-------------------------------------------------------------------
Sun Jul 24 08:59:23 UTC 2016 - nine@detonation.org
- update to 2016.07
* Numerous fixes for memory leaks
* Numerous performance improvements
* Fixes for NativeCall
* Updates to moar-gdb.py (MoarVM GDB plug-in)
* New heap profiler
* JIT compile more code paths
* Make the GC smarter
* Fixes for UTF8-C8 encoding and use it for directory listing
* Fixe a couple of SEGVs
* Further support for function pointers in native calling
* Implement loadbytecodebuffer and loadbytecodefh ops
* New multi-dispatch cache supporting calls with named parameters
-------------------------------------------------------------------
Mon Jan 29 14:27:38 UTC 2016 - nine@detonation.org
- update to 2016.01
* Only optimize istrue to unbox_i when known concrete
* Bump libuv to 1.8
* Various fixes/updates to graph_spesh.p6
* Don't install sha1 and tinymt headers; they're only used internally
* Only install msinttypes on MS platform
* Fix a gc bug in string concatenation
* Add subsecond file time ops stat_time and lstat_time
* Fix stat CREATETIME return value
* Note graphs_s will be deprecated; dupe of chars
-------------------------------------------------------------------
Mon Jan 4 14:27:38 UTC 2016 - nine@detonation.org
- update to 2015.12
* support for multidimensional arrays
* updated to Unicode 8 and lots of Unicode fixes
* C++ support for native calling
* proper support for unsigned native types
* threading fixes
* memory leak fixes
-------------------------------------------------------------------
Thu Jun 11 16:42:37 CEST 2015 - mls@suse.de
- update to 2015.05
* instrumenting profiler
* many optimizations
* added documentation
* large file handling
* endian fixes
* lazy deserialization
* implement NFC/NFD/NFKC/NFKD Unicode normalization algorithms
* fix various memory leaks
- fix setup
-------------------------------------------------------------------
Fri Aug 22 14:03:03 CEST 2014 - mls@suse.de
- update to 2014.08
* support for JIT
* specializer support
* async read/write
* lots of bugfixes
-------------------------------------------------------------------
Tue Mar 11 11:26:26 CET 2014 - mls@suse.de
- fix file list for i586 debuginfo builds
-------------------------------------------------------------------
Wed Mar 5 11:17:16 CET 2014 - mls@suse.de
- added Artistic2.txt to the doc section
-------------------------------------------------------------------
Mon Mar 3 17:42:09 CET 2014 - mls@suse.de
- initial release