Showing the changes to src/vm/vm_memory.cpp (1 of 2 files). Show all
Unified · Split
| @@ -355,46 +355,102 @@ namespace · 354 unmodified lines | |||
| 355 | } | 355 | } |
| 356 | 356 | ||
| 357 | template<> | 357 | template<> |
| 358 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<byte_t>() { return{ &hidden_type_desc::byte, hidden_type_desc::deleter }; } | 358 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<byte_t>() |
| 359 | { | ||
| 360 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::byte, hidden_type_desc::deleter }; | ||
| 361 | return t; | ||
| 362 | } | ||
| 359 | 363 | ||
| 360 | template<> | 364 | template<> |
| 361 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<short_word_t>() { return{ &hidden_type_desc::short_word, hidden_type_desc::deleter }; } | 365 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<short_word_t>() |
| 366 | { | ||
| 367 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::short_word, hidden_type_desc::deleter }; | ||
| 368 | return t; | ||
| 369 | } | ||
| 362 | 370 | ||
| 363 | template<> | 371 | template<> |
| 364 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<word_t>() { return{ &hidden_type_desc::word, hidden_type_desc::deleter }; } | 372 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<word_t>() |
| 373 | { | ||
| 374 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::word, hidden_type_desc::deleter }; | ||
| 375 | return t; | ||
| 376 | } | ||
| 365 | 377 | ||
| 366 | template<> | 378 | template<> |
| 367 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<short_real_t>() { return{ &hidden_type_desc::short_real, hidden_type_desc::deleter }; } | 379 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<short_real_t>() |
| 380 | { | ||
| 381 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::short_real, hidden_type_desc::deleter }; | ||
| 382 | return t; | ||
| 383 | } | ||
| 368 | 384 | ||
| 369 | template<> | 385 | template<> |
| 370 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<real_t>() { return{ &hidden_type_desc::real, hidden_type_desc::deleter }; } | 386 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<real_t>() |
| 387 | { | ||
| 388 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::real, hidden_type_desc::deleter }; | ||
| 389 | return t; | ||
| 390 | } | ||
| 371 | 391 | ||
| 372 | template<> | 392 | template<> |
| 373 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<big_t>() { return{ &hidden_type_desc::big, hidden_type_desc::deleter }; } | 393 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<big_t>() |
| 394 | { | ||
| 395 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::big, hidden_type_desc::deleter }; | ||
| 396 | return t; | ||
| 397 | } | ||
| 374 | 398 | ||
| 375 | template<> | 399 | template<> |
| 376 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<pointer_t>() { return{ &hidden_type_desc::pointer, hidden_type_desc::deleter }; } | 400 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<pointer_t>() |
| 401 | { | ||
| 402 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::pointer, hidden_type_desc::deleter }; | ||
| 403 | return t; | ||
| 404 | } | ||
| 377 | 405 | ||
| 378 | template<> | 406 | template<> |
| 379 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_array_t>() { return{ &hidden_type_desc::vm_array, hidden_type_desc::deleter }; } | 407 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_array_t>() |
| 408 | { | ||
| 409 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::vm_array, hidden_type_desc::deleter }; | ||
| 410 | return t; | ||
| 411 | } | ||
| 380 | 412 | ||
| 381 | template<> | 413 | template<> |
| 382 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_list_t>() { return{ &hidden_type_desc::vm_list, hidden_type_desc::deleter }; } | 414 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_list_t>() |
| 415 | { | ||
| 416 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::vm_list, hidden_type_desc::deleter }; | ||
| 417 | return t; | ||
| 418 | } | ||
| 383 | 419 | ||
| 384 | template<> | 420 | template<> |
| 385 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_channel_t>() { return{ &hidden_type_desc::vm_channel, hidden_type_desc::deleter }; } | 421 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_channel_t>() |
| 422 | { | ||
| 423 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::vm_channel, hidden_type_desc::deleter }; | ||
| 424 | return t; | ||
| 425 | } | ||
| 386 | 426 | ||
| 387 | template<> | 427 | template<> |
| 388 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_string_t>() { return{ &hidden_type_desc::vm_string, hidden_type_desc::deleter }; } | 428 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_string_t>() |
| 429 | { | ||
| 430 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::vm_string, hidden_type_desc::deleter }; | ||
| 431 | return t; | ||
| 432 | } | ||
| 389 | 433 | ||
| 390 | template<> | 434 | template<> |
| 391 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_module_ref_t>() { return{ &hidden_type_desc::vm_module_ref, hidden_type_desc::deleter }; } | 435 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_module_ref_t>() |
| 436 | { | ||
| 437 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::vm_module_ref, hidden_type_desc::deleter }; | ||
| 438 | return t; | ||
| 439 | } | ||
| 392 | 440 | ||
| 393 | template<> | 441 | template<> |
| 394 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_stack_t>() { return{ &hidden_type_desc::vm_stack, hidden_type_desc::deleter }; } | 442 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_stack_t>() |
| 443 | { | ||
| 444 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::vm_stack, hidden_type_desc::deleter }; | ||
| 445 | return t; | ||
| 446 | } | ||
| 395 | 447 | ||
| 396 | template<> | 448 | template<> |
| 397 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_thread_t>() { return{ &hidden_type_desc::vm_thread, hidden_type_desc::deleter }; } | 449 | static std::shared_ptr<const type_descriptor_t> intrinsic_type_desc::type<vm_thread_t>() |
| 450 | { | ||
| 451 | static std::shared_ptr<const type_descriptor_t> t = { &hidden_type_desc::vm_thread, hidden_type_desc::deleter }; | ||
| 452 | return t; | ||
| 453 | } | ||
| 398 | 454 | ||
| 399 | vm_alloc_instance_finalizer_t type_descriptor_t::no_finalizer = nullptr; | 455 | vm_alloc_instance_finalizer_t type_descriptor_t::no_finalizer = nullptr; |
| 400 | 456 | ||