VM: simpler code for find_object_containing_card
parent
8cacf7bf8d
commit
ae9818db87
|
@ -15,16 +15,14 @@ object_start_map::~object_start_map() { delete[] object_start_offsets; }
|
|||
cell object_start_map::find_object_containing_card(cell card_index) {
|
||||
if (card_index == 0)
|
||||
return start;
|
||||
else {
|
||||
card_index--;
|
||||
card_index--;
|
||||
|
||||
while (object_start_offsets[card_index] == card_starts_inside_object) {
|
||||
// First card should start with an object
|
||||
FACTOR_ASSERT(card_index > 0);
|
||||
card_index--;
|
||||
}
|
||||
return start + card_index * card_size + object_start_offsets[card_index];
|
||||
while (object_start_offsets[card_index] == card_starts_inside_object) {
|
||||
// First card should start with an object
|
||||
FACTOR_ASSERT(card_index > 0);
|
||||
card_index--;
|
||||
}
|
||||
return start + card_index * card_size + object_start_offsets[card_index];
|
||||
}
|
||||
|
||||
// we need to remember the first object allocated in the card
|
||||
|
|
Loading…
Reference in New Issue