]> gitweb.factorcode.org Git - factor.git/blobdiff - vm/code_heap.cpp
io.streams.256color: faster by caching styles
[factor.git] / vm / code_heap.cpp
index 23a28c07f3240c0478f25d4448e8d490b4d5e744..77aa7ae287670a3186fb8489138af68e76561060 100644 (file)
@@ -3,7 +3,7 @@
 namespace factor {
 
 code_heap::code_heap(cell size) {
-  if (size > ((uint64_t)1 << (sizeof(cell) * 8 - 6)))
+  if (size > ((uint64_t)1 << (sizeof(cell) * 8 - 5)))
     fatal_error("Heap too large", size);
   seg = new segment(align_page(size), true);
   if (!seg)
@@ -71,6 +71,8 @@ void code_heap::sweep() {
 
 void code_heap::verify_all_blocks_set() {
   auto all_blocks_set_verifier = [&](code_block* block, cell size) {
+    (void)block;
+    (void)size;
     FACTOR_ASSERT(all_blocks.find((cell)block) != all_blocks.end());
   };
   allocator->iterate(all_blocks_set_verifier, no_fixup());
@@ -102,6 +104,7 @@ cell code_heap::frame_predecessor(cell frame_top) {
 void code_heap::initialize_all_blocks_set() {
   all_blocks.clear();
   auto all_blocks_set_inserter = [&](code_block* block, cell size) {
+    (void)size;
     all_blocks.insert((cell)block);
   };
   allocator->iterate(all_blocks_set_inserter, no_fixup());
@@ -115,6 +118,7 @@ void code_heap::initialize_all_blocks_set() {
 // If generic words were redefined, inline caches need to be reset.
 void factor_vm::update_code_heap_words(bool reset_inline_caches) {
   auto word_updater = [&](code_block* block, cell size) {
+    (void)size;
     update_word_references(block, reset_inline_caches);
   };
   each_code_block(word_updater);
@@ -182,6 +186,7 @@ void factor_vm::primitive_code_room() {
 
 void factor_vm::primitive_strip_stack_traces() {
   auto stack_trace_stripper = [](code_block* block, cell size) {
+    (void)size;
     block->owner = false_object;
   };
   each_code_block(stack_trace_stripper);
@@ -191,6 +196,7 @@ void factor_vm::primitive_strip_stack_traces() {
 void factor_vm::primitive_code_blocks() {
   std::vector<cell> objects;
   auto code_block_accumulator = [&](code_block* block, cell size) {
+    (void)size;
     objects.push_back(block->owner);
     objects.push_back(block->parameters);
     objects.push_back(block->relocation);