History

Move some basic offset functions to header files for inlining ease Replace enum_pointer_field functions with custom implementations - GC now has custom implementation - other implementations use template<> version Fix misuse of shared_ptr<type_descriptor_t> in various built-in types Observed 5 - 8 % improvement in GC for compiler scenario.

arr committed 9 years ago

Commit cd2748b1 parent 3dd1c8210 files · +115 −160Browse files

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

Unified · Split

src/vm/list.cpp+1−1
@@ -26,11 +26,11 @@ std::shared_ptr<const type_descriptor_t> vm_list_t::type_desc() · 25 unmodified lines
2626
2727 vm_list_t::vm_list_t(std::shared_ptr<const type_descriptor_t> td, vm_list_t *tail)
2828 : vm_alloc_t(vm_list_t::type_desc())
29− , _element_type{ td }
3029 , _is_alloc{ sizeof(_mem) < td->size_in_bytes }
3130 , _mem{}
3231 , _tail{ nullptr }
3332 {
33+ _element_type = std::move(td);
3434 assert(_element_type != nullptr);
3535 set_tail(tail);
3636