]> gitweb.factorcode.org Git - factor.git/commitdiff
VM: Refactor object_start_map* to Factor style
authorErik Charlebois <erikcharlebois@gmail.com>
Sun, 12 May 2013 02:16:45 +0000 (22:16 -0400)
committerErik Charlebois <erikcharlebois@gmail.com>
Sun, 12 May 2013 17:24:46 +0000 (13:24 -0400)
vm/object_start_map.cpp
vm/object_start_map.hpp

index 72152aceedc9cd269db74a3f4e7574d99e53daa9..506cf3146d63341ac34d3772911758a938c65247 100644 (file)
@@ -1,95 +1,78 @@
 #include "master.hpp"
 
-namespace factor
-{
+namespace factor {
 
-object_start_map::object_start_map(cell size_, cell start_) :
-       size(size_), start(start_)
-{
-       object_start_offsets = new card[addr_to_card(size_)];
-       object_start_offsets_end = object_start_offsets + addr_to_card(size_);
-       clear_object_start_offsets();
+object_start_map::object_start_map(cell size_, cell start_)
+    : size(size_), start(start_) {
+  object_start_offsets = new card[addr_to_card(size_)];
+  object_start_offsets_end = object_start_offsets + addr_to_card(size_);
+  clear_object_start_offsets();
 }
 
-object_start_map::~object_start_map()
-{
-       delete[] object_start_offsets;
-}
+object_start_map::~object_start_map() { delete[] object_start_offsets; }
 
-cell object_start_map::first_object_in_card(cell card_index)
-{
-       return object_start_offsets[card_index];
+cell object_start_map::first_object_in_card(cell card_index) {
+  return object_start_offsets[card_index];
 }
 
-cell object_start_map::find_object_containing_card(cell card_index)
-{
-       if(card_index == 0)
-               return start;
-       else
-       {
-               card_index--;
+cell object_start_map::find_object_containing_card(cell card_index) {
+  if (card_index == 0)
+    return start;
+  else {
+    card_index--;
 
-               while(first_object_in_card(card_index) == card_starts_inside_object)
-               {
+    while (first_object_in_card(card_index) == card_starts_inside_object) {
 #ifdef FACTOR_DEBUG
-                       /* First card should start with an object */
-                       FACTOR_ASSERT(card_index > 0);
+      /* First card should start with an object */
+      FACTOR_ASSERT(card_index > 0);
 #endif
-                       card_index--;
-               }
+      card_index--;
+    }
 
-               return start + (card_index << card_bits) + first_object_in_card(card_index);
-       }
+    return start + (card_index << card_bits) + first_object_in_card(card_index);
+  }
 }
 
 /* we need to remember the first object allocated in the card */
-void object_start_map::record_object_start_offset(object *obj)
-{
-       cell idx = addr_to_card((cell)obj - start);
-       card obj_start = ((cell)obj & addr_card_mask);
-       object_start_offsets[idx] = std::min(object_start_offsets[idx],obj_start);
+void object_start_map::record_object_start_offset(object* obj) {
+  cell idx = addr_to_card((cell) obj - start);
+  card obj_start = ((cell) obj & addr_card_mask);
+  object_start_offsets[idx] = std::min(object_start_offsets[idx], obj_start);
 }
 
-void object_start_map::clear_object_start_offsets()
-{
-       memset(object_start_offsets,card_starts_inside_object,addr_to_card(size));
+void object_start_map::clear_object_start_offsets() {
+  memset(object_start_offsets, card_starts_inside_object, addr_to_card(size));
 }
 
-void object_start_map::update_card_for_sweep(cell index, u16 mask)
-{
-       cell offset = object_start_offsets[index];
-       if(offset != card_starts_inside_object)
-       {
-               mask >>= (offset / data_alignment);
+void object_start_map::update_card_for_sweep(cell index, u16 mask) {
+  cell offset = object_start_offsets[index];
+  if (offset != card_starts_inside_object) {
+    mask >>= (offset / data_alignment);
 
-               if(mask == 0)
-               {
-                       /* The rest of the block after the old object start is free */
-                       object_start_offsets[index] = card_starts_inside_object;
-               }
-               else
-               {
-                       /* Move the object start forward if necessary */
-                       object_start_offsets[index] = (card)(offset + (rightmost_set_bit(mask) * data_alignment));
-               }
-       }
+    if (mask == 0) {
+      /* The rest of the block after the old object start is free */
+      object_start_offsets[index] = card_starts_inside_object;
+    } else {
+      /* Move the object start forward if necessary */
+      object_start_offsets[index] =
+          (card)(offset + (rightmost_set_bit(mask) * data_alignment));
+    }
+  }
 }
 
-void object_start_map::update_for_sweep(mark_bits<object> *state)
-{
-       for(cell index = 0; index < state->bits_size; index++)
-       {
-               cell mask = state->marked[index];
+void object_start_map::update_for_sweep(mark_bits<object>* state) {
+  for (cell index = 0; index < state->bits_size; index++) {
+    cell mask = state->marked[index];
 #ifdef FACTOR_64
-               update_card_for_sweep(index * 4,      mask        & 0xffff);
-               update_card_for_sweep(index * 4 + 1, (mask >> 16) & 0xffff);
-               update_card_for_sweep(index * 4 + 2, (mask >> 32) & 0xffff);
-               update_card_for_sweep(index * 4 + 3, (mask >> 48) & 0xffff);
+    update_card_for_sweep(index * 4, mask & 0xffff);
+    update_card_for_sweep(index * 4 + 1, (mask >> 16) & 0xffff);
+    update_card_for_sweep(index * 4 + 2, (mask >> 32) & 0xffff);
+    update_card_for_sweep(index * 4 + 3, (mask >> 48) & 0xffff);
 #else
-               update_card_for_sweep(index * 2,      mask        & 0xffff);
-               update_card_for_sweep(index * 2 + 1, (mask >> 16) & 0xffff);
+    update_card_for_sweep(index * 2, mask & 0xffff);
+    update_card_for_sweep(index * 2 + 1, (mask >> 16) & 0xffff);
 #endif
-       }
+  }
 }
 
 }
index a2e24eeda607621e7792f263950c2686020203fa..8f52ef3eb9099a93682952cd40e3246d6a1a04ac 100644 (file)
@@ -1,22 +1,21 @@
-namespace factor
-{
+namespace factor {
 
 static const cell card_starts_inside_object = 0xff;
 
 struct object_start_map {
-       cell size, start;
-       card *object_start_offsets;
-       card *object_start_offsets_end;
+  cell size, start;
+  card* object_start_offsets;
+  card* object_start_offsets_end;
 
-       explicit object_start_map(cell size_, cell start_);
-       ~object_start_map();
+  explicit object_start_map(cell size_, cell start_);
+  ~object_start_map();
 
-       cell first_object_in_card(cell card_index);
-       cell find_object_containing_card(cell card_index);
-       void record_object_start_offset(object *obj);
-       void clear_object_start_offsets();
-       void update_card_for_sweep(cell index, u16 mask);
-       void update_for_sweep(mark_bits<object> *state);
+  cell first_object_in_card(cell card_index);
+  cell find_object_containing_card(cell card_index);
+  void record_object_start_offset(object* obj);
+  void clear_object_start_offsets();
+  void update_card_for_sweep(cell index, u16 mask);
+  void update_for_sweep(mark_bits<object>* state);
 };
 
 }