]> gitweb.factorcode.org Git - factor.git/commitdiff
VM: move next_object_after() and first_object() to aging_space (no iteration possible...
authorBjörn Lindqvist <bjourne@gmail.com>
Fri, 21 Nov 2014 08:14:55 +0000 (09:14 +0100)
committerDoug Coleman <doug.coleman@gmail.com>
Fri, 21 Nov 2014 10:16:04 +0000 (02:16 -0800)
vm/aging_space.hpp
vm/bump_allocator.hpp

index 54ae44f34fbbc4a25e2ebaa3fd93896df2cf8eef..1c17f71db17ced4bc23fed6c97e6a46746b12f5c 100644 (file)
@@ -14,6 +14,21 @@ struct aging_space : bump_allocator<object> {
     starts.record_object_start_offset(obj);
     return obj;
   }
+
+  cell next_object_after(cell scan) {
+    cell size = ((object*)scan)->size();
+    if (scan + size < here)
+      return scan + size;
+    else
+      return 0;
+  }
+
+  cell first_object() {
+    if (start != here)
+      return start;
+    else
+      return 0;
+  }
 };
 
 }
index 5e8f3544df444eb871015877554b05c2bff7c1c4..cd4717032dcee646faefab1fad6cc991c1912af7 100644 (file)
@@ -22,21 +22,6 @@ template <typename Block> struct bump_allocator {
 
   cell free_space() { return end - here; }
 
-  cell next_object_after(cell scan) {
-    cell size = ((Block*)scan)->size();
-    if (scan + size < here)
-      return scan + size;
-    else
-      return 0;
-  }
-
-  cell first_object() {
-    if (start != here)
-      return start;
-    else
-      return 0;
-  }
-
   void flush() {
     here = start;
 #ifdef FACTOR_DEBUG