Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 16782e6

Browse files
rmacnak-googlecommit-bot@chromium.org
authored andcommitted
[vm, gc] New-space alignment is not configurable.
Change-Id: I6bb1c3dab0319ac5d827c947f38cb6396d2f7d81 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134809 Reviewed-by: Siva Annamalai <[email protected]> Commit-Queue: Ryan Macnak <[email protected]>
1 parent dae6000 commit 16782e6

File tree

3 files changed

+9
-15
lines changed

3 files changed

+9
-15
lines changed

runtime/vm/heap/heap.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Heap::Heap(Isolate* isolate,
3737
intptr_t max_new_gen_semi_words,
3838
intptr_t max_old_gen_words)
3939
: isolate_(isolate),
40-
new_space_(this, max_new_gen_semi_words, kNewObjectAlignmentOffset),
40+
new_space_(this, max_new_gen_semi_words),
4141
old_space_(this, max_old_gen_words),
4242
barrier_(),
4343
barrier_done_(),

runtime/vm/heap/scavenger.cc

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -421,12 +421,9 @@ void SemiSpace::WriteProtect(bool read_only) {
421421
// on the device's actual speed.
422422
static const intptr_t kConservativeInitialScavengeSpeed = 40;
423423

424-
Scavenger::Scavenger(Heap* heap,
425-
intptr_t max_semi_capacity_in_words,
426-
uword object_alignment)
424+
Scavenger::Scavenger(Heap* heap, intptr_t max_semi_capacity_in_words)
427425
: heap_(heap),
428426
max_semi_capacity_in_words_(max_semi_capacity_in_words),
429-
object_alignment_(object_alignment),
430427
scavenging_(false),
431428
delayed_weak_properties_(NULL),
432429
gc_time_micros_(0),
@@ -1009,7 +1006,7 @@ uword Scavenger::TryAllocateNewTLAB(Thread* thread, intptr_t size) {
10091006
return 0;
10101007
}
10111008
ASSERT(to_->Contains(result));
1012-
ASSERT((result & kObjectAlignmentMask) == object_alignment_);
1009+
ASSERT((result & kObjectAlignmentMask) == kNewObjectAlignmentOffset);
10131010
top_ += size;
10141011
ASSERT(to_->Contains(top_) || (top_ == to_->end()));
10151012
ASSERT(result < top_);

runtime/vm/heap/scavenger.h

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,7 @@ class ScavengeStats {
114114

115115
class Scavenger {
116116
public:
117-
Scavenger(Heap* heap,
118-
intptr_t max_semi_capacity_in_words,
119-
uword object_alignment);
117+
Scavenger(Heap* heap, intptr_t max_semi_capacity_in_words);
120118
~Scavenger();
121119

122120
// Check whether this Scavenger contains this address.
@@ -140,7 +138,7 @@ class Scavenger {
140138
// the new to_ space. It must succeed.
141139
ASSERT(size <= remaining);
142140
ASSERT(to_->Contains(result));
143-
ASSERT((result & kObjectAlignmentMask) == object_alignment_);
141+
ASSERT((result & kObjectAlignmentMask) == kNewObjectAlignmentOffset);
144142
top_ += size;
145143
ASSERT((to_->Contains(top_)) || (top_ == to_->end()));
146144
return result;
@@ -157,7 +155,7 @@ class Scavenger {
157155
return 0;
158156
}
159157
ASSERT(to_->Contains(result));
160-
ASSERT((result & kObjectAlignmentMask) == object_alignment_);
158+
ASSERT((result & kObjectAlignmentMask) == kNewObjectAlignmentOffset);
161159
top += size;
162160
ASSERT((to_->Contains(top)) || (top == to_->end()));
163161
thread->set_top(top);
@@ -237,7 +235,9 @@ class Scavenger {
237235
kToKBAfterStoreBuffer = 3
238236
};
239237

240-
uword FirstObjectStart() const { return to_->start() | object_alignment_; }
238+
uword FirstObjectStart() const {
239+
return to_->start() + kNewObjectAlignmentOffset;
240+
}
241241
SemiSpace* Prologue(Isolate* isolate);
242242
void IterateStoreBuffers(Isolate* isolate, ScavengerVisitor* visitor);
243243
void IterateObjectIdTable(Isolate* isolate, ScavengerVisitor* visitor);
@@ -298,9 +298,6 @@ class Scavenger {
298298

299299
intptr_t max_semi_capacity_in_words_;
300300

301-
// All object are aligned to this value.
302-
uword object_alignment_;
303-
304301
// Keep track whether a scavenge is currently running.
305302
bool scavenging_;
306303

0 commit comments

Comments
 (0)