Showing the changes to src/vm/array.cpp (1 of 16 files). Show all
Unified · Split
| @@ -27,20 +27,20 @@ vm_array_t::vm_array_t(std::shared_ptr<const type_descriptor_t> td, word_t lengt · 26 unmodified lines | |||
| 27 | assert(_element_type != nullptr); | 27 | assert(_element_type != nullptr); |
| 28 | assert(_length >= 0); | 28 | assert(_length >= 0); |
| 29 | _arr = alloc_memory<byte_t>(_length * _element_type->size_in_bytes); | 29 | _arr = alloc_memory<byte_t>(_length * _element_type->size_in_bytes); |
| 30 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "init: vm array: %d\n", _length); | 30 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "init: vm array: %d", _length); |
| 31 | 31 | ||
| 32 | // Initialize the array | 32 | // Initialize the array |
| 33 | auto arr_local = _arr; | 33 | auto arr_local = _arr; |
| 34 | const auto array_len = _length; | 34 | const auto array_len = _length; |
| 35 | const auto &element_type = *_element_type; | 35 | const auto &element_type = *_element_type; |
| 36 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "begin: init: elements: %d\n", array_len); | 36 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "begin: init: elements: %d", array_len); |
| 37 | for (word_t i = 0; i < array_len; ++i) | 37 | for (word_t i = 0; i < array_len; ++i) |
| 38 | { | 38 | { |
| 39 | init_memory(element_type, arr_local); | 39 | init_memory(element_type, arr_local); |
| 40 | arr_local += element_type.size_in_bytes; | 40 | arr_local += element_type.size_in_bytes; |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "end: init: elements: %d\n", array_len); | 43 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "end: init: elements: %d", array_len); |
| 44 | } | 44 | } |
| 45 | 45 | ||
| 46 | vm_array_t::vm_array_t(std::shared_ptr<const type_descriptor_t> td, word_t length, const zero_memory_t&) | 46 | vm_array_t::vm_array_t(std::shared_ptr<const type_descriptor_t> td, word_t length, const zero_memory_t&) |
| @@ -53,7 +53,7 @@ vm_array_t::vm_array_t(std::shared_ptr<const type_descriptor_t> td, word_t lengt · 6 unmodified lines | |||
| 53 | assert(_element_type != nullptr); | 53 | assert(_element_type != nullptr); |
| 54 | assert(_length >= 0); | 54 | assert(_length >= 0); |
| 55 | _arr = calloc_memory<byte_t>(_length * _element_type->size_in_bytes); | 55 | _arr = calloc_memory<byte_t>(_length * _element_type->size_in_bytes); |
| 56 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "initz: vm array: %d\n", _length); | 56 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "initz: vm array: %d", _length); |
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | vm_array_t::vm_array_t(vm_array_t *original, word_t begin_index, word_t length) | 59 | vm_array_t::vm_array_t(vm_array_t *original, word_t begin_index, word_t length) |
| @@ -68,7 +68,7 @@ vm_array_t::vm_array_t(vm_array_t *original, word_t begin_index, word_t length) · 8 unmodified lines | |||
| 68 | assert(_length >= 0 && (_length + begin_index) <= _original->get_length()); | 68 | assert(_length >= 0 && (_length + begin_index) <= _original->get_length()); |
| 69 | 69 | ||
| 70 | if (debug::is_component_tracing_enabled<debug::component_trace_t::memory>()) | 70 | if (debug::is_component_tracing_enabled<debug::component_trace_t::memory>()) |
| 71 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "init: vm array: slice: %d %d\n", begin_index, _length); | 71 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "init: vm array: slice: %d %d", begin_index, _length); |
| 72 | 72 | ||
| 73 | // Set the data to reference the original array | 73 | // Set the data to reference the original array |
| 74 | _arr = _original->_arr + (begin_index * _element_type->size_in_bytes); | 74 | _arr = _original->_arr + (begin_index * _element_type->size_in_bytes); |
| @@ -104,7 +104,7 @@ vm_array_t::vm_array_t(const vm_string_t *s) · 29 unmodified lines | |||
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | if (debug::is_component_tracing_enabled<debug::component_trace_t::memory>()) | 106 | if (debug::is_component_tracing_enabled<debug::component_trace_t::memory>()) |
| 107 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "init: vm array: vm string: %d\n", _length); | 107 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "init: vm array: vm string: %d", _length); |
| 108 | } | 108 | } |
| 109 | 109 | ||
| 110 | vm_array_t::~vm_array_t() | 110 | vm_array_t::~vm_array_t() |
| @@ -118,7 +118,7 @@ vm_array_t::~vm_array_t() · 7 unmodified lines | |||
| 118 | dec_ref_count_and_free(_original); | 118 | dec_ref_count_and_free(_original); |
| 119 | debug::assign_debug_pointer(&_original); | 119 | debug::assign_debug_pointer(&_original); |
| 120 | 120 | ||
| 121 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "destroy: vm array: slice\n"); | 121 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "destroy: vm array: slice"); |
| 122 | } | 122 | } |
| 123 | else | 123 | else |
| 124 | { | 124 | { |
| @@ -126,19 +126,19 @@ vm_array_t::~vm_array_t() · 1 unmodified line | |||
| 126 | auto arr_local = _arr; | 126 | auto arr_local = _arr; |
| 127 | const auto array_len = _length; | 127 | const auto array_len = _length; |
| 128 | const auto &element_type = *_element_type; | 128 | const auto &element_type = *_element_type; |
| 129 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "begin: destroy: elements: %d\n", array_len); | 129 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "begin: destroy: elements: %d", array_len); |
| 130 | for (word_t i = 0; i < array_len; ++i) | 130 | for (word_t i = 0; i < array_len; ++i) |
| 131 | { | 131 | { |
| 132 | destroy_memory(element_type, arr_local); | 132 | destroy_memory(element_type, arr_local); |
| 133 | arr_local += element_type.size_in_bytes; | 133 | arr_local += element_type.size_in_bytes; |
| 134 | } | 134 | } |
| 135 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "end: destroy: elements: %d\n", array_len); | 135 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "end: destroy: elements: %d", array_len); |
| 136 | 136 | ||
| 137 | // Free array memory | 137 | // Free array memory |
| 138 | free_memory(_arr); | 138 | free_memory(_arr); |
| 139 | 139 | ||
| 140 | debug::assign_debug_pointer(&_arr); | 140 | debug::assign_debug_pointer(&_arr); |
| 141 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "destroy: vm array\n"); | 141 | debug::log_msg(debug::component_trace_t::memory, debug::log_level_t::debug, "destroy: vm array"); |
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | } | 144 | } |