History

Alter debugger API to accept vector value not reference.

Remove global memory lock mechanism - Wasn't being used but showed up on profile report :( Move enum_pointer_fields and is_offset_pointer impls into cpp file Create enum_pointer_fields_with_offset function since the VM never needs the offset values and the generated code was about 5% bigger. Now the VM can use the callback without the offset. Removed pointless init_memory() usage since alloc_memory() now is required to return zeroed out memory. Fixed bugs in GC Added support - Ranged absolute disassembly in debugger - New duration log component

arr committed 9 years ago

Commit cc8f2b61 parent 41616d412 files · +167 −250Browse files

Showing the changes to src/vm/list.cpp (1 of 12 files). Show all

Unified · Split

src/vm/list.cpp+1−7
@@ -28,15 +28,9 @@ vm_list_t::vm_list_t(std::shared_ptr<const type_descriptor_t> td, vm_list_t *tai · 27 unmodified lines
2828 set_tail(tail);
2929
3030 // If the default list element storage is not enough, allocate more memory.
31+ // [SPEC] Element memory is already initialized to zero based on the alloc_memory contract
3132 if (_is_alloc)
32− {
3333 _mem.alloc = static_cast<pointer_t>(alloc_memory(_element_type->size_in_bytes));
34− init_memory(*_element_type, _mem.alloc);
35− }
36− else
37− {
38− init_memory(*_element_type, &_mem.local);
39− }
4034
4135 if (debug::is_component_tracing_enabled<debug::component_trace_t::memory>())
4236 debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "init: vm list");