Showing the changes to src/vm/stack.cpp (1 of 10 files). Show all
Unified · Split
| @@ -106,7 +106,7 @@ namespace · 105 unmodified lines | |||
| 106 | }; | 106 | }; |
| 107 | } | 107 | } |
| 108 | 108 | ||
| 109 | vm_frame_t::vm_frame_t(std::shared_ptr<const type_descriptor_t> &td) | 109 | vm_frame_t::vm_frame_t(std::shared_ptr<const type_descriptor_t> td) |
| 110 | : frame_type{ std::move(td) } | 110 | : frame_type{ std::move(td) } |
| 111 | { | 111 | { |
| 112 | assert(frame_type != nullptr); | 112 | assert(frame_type != nullptr); |
| @@ -222,7 +222,7 @@ vm_frame_t *vm_stack_t::alloc_frame(std::shared_ptr<const type_descriptor_t> fra · 109 unmodified lines | |||
| 222 | if (page_top_frame == nullptr) | 222 | if (page_top_frame == nullptr) |
| 223 | { | 223 | { |
| 224 | auto new_frame_addr = layout->top_page->stack_data(); | 224 | auto new_frame_addr = layout->top_page->stack_data(); |
| 225 | new_frame = ::new(new_frame_addr)vm_frame_t{ frame_type }; | 225 | new_frame = ::new(new_frame_addr)vm_frame_t{ std::move(frame_type) }; |
| 226 | } | 226 | } |
| 227 | else | 227 | else |
| 228 | { | 228 | { |
| @@ -233,7 +233,7 @@ vm_frame_t *vm_stack_t::alloc_frame(std::shared_ptr<const type_descriptor_t> fra · 4 unmodified lines | |||
| 233 | if ((new_frame_addr_maybe + new_frame_size) >= layout->top_page->page_limit_addr) | 233 | if ((new_frame_addr_maybe + new_frame_size) >= layout->top_page->page_limit_addr) |
| 234 | new_frame_addr_maybe = reinterpret_cast<std::uintptr_t>(layout->new_page()); | 234 | new_frame_addr_maybe = reinterpret_cast<std::uintptr_t>(layout->new_page()); |
| 235 | 235 | ||
| 236 | new_frame = ::new(reinterpret_cast<void *>(new_frame_addr_maybe))vm_frame_t{ frame_type }; | 236 | new_frame = ::new(reinterpret_cast<void *>(new_frame_addr_maybe))vm_frame_t{ std::move(frame_type) }; |
| 237 | } | 237 | } |
| 238 | 238 | ||
| 239 | // Record the top frame on the page | 239 | // Record the top frame on the page |