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/channel.cpp (1 of 10 files). Show all

Unified · Split

src/vm/channel.cpp+2−2
@@ -45,13 +45,13 @@ vm_channel_t::vm_channel_t( · 44 unmodified lines
45 , _data_buffer_head{ 0 }45 , _data_buffer_head{ 0 }
46 , _data_buffer_count{ 0 }46 , _data_buffer_count{ 0 }
47 , _data_transfer{ transfer }47 , _data_transfer{ transfer }
48 , _data_type{ td }48 , _data_type{ std::move(td) }
49{49{
50 if (buffer_len < 0)50 if (buffer_len < 0)
51 throw out_of_range_memory{};51 throw out_of_range_memory{};
52 52
53 if (buffer_len > 0)53 if (buffer_len > 0)
54 _data_buffer = new vm_array_t{ td, buffer_len };54 _data_buffer = new vm_array_t{ _data_type, buffer_len };
55 55
56 disvm::debug::log_msg(component_trace_t::memory, log_level_t::debug, "init: vm channel");56 disvm::debug::log_msg(component_trace_t::memory, log_level_t::debug, "init: vm channel");
57}57}