]> gitweb.factorcode.org Git - factor.git/commitdiff
vm/allot.hpp: Print more room info when allot() fails.
authorDoug Coleman <doug.coleman@gmail.com>
Tue, 10 Mar 2020 08:31:23 +0000 (03:31 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Tue, 10 Mar 2020 08:33:20 +0000 (03:33 -0500)
This is to help debug win64.

Some interesting observations:

fails without any error:
factor.com -codeheap=74000

fails with VirtualAlloc error:
factor.com -codeheap=80000

vm/allot.hpp

index b6bb8c1b71f81425ef11113820564b7e2df96537..1987b2b0e4f463f8b35350406541bad4b941ff8f 100644 (file)
@@ -20,9 +20,10 @@ inline code_block* factor_vm::allot_code_block(cell size,
 
     // Insufficient room even after code GC, give up
     if (block == NULL) {
-      std::cout << "Code heap used: " << code->allocator->occupied_space()
-                << "\n";
-      std::cout << "Code heap free: " << code->allocator->free_space << "\n";
+      std::cout << "Code heap used:               " << code->allocator->occupied_space() << "\n";
+      std::cout << "Code heap free:               " << code->allocator->free_space << "\n";
+      std::cout << "Code heap free_block_count:   " << code->allocator->free_block_count << "\n";
+      std::cout << "Code heap largest_free_block: " << code->allocator->largest_free_block() << "\n";
       std::cout << "Request       : " << block_size << "\n";
       fatal_error("Out of memory in allot_code_block", 0);
     }