Skip to content

Commit 76af264

Browse files
committed
let observers escape to heap
1 parent af1dd97 commit 76af264

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

ecs/events.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,9 @@ type observerManager struct {
122122
}
123123

124124
// newObserverManager creates anew empty observerManager.
125-
func newObserverManager() observerManager {
125+
func newObserverManager() *observerManager {
126126
maxEvents := math.MaxUint8 + 1
127-
return observerManager{
127+
return &observerManager{
128128
observers: make([][]*observerData, maxEvents),
129129
hasObservers: make([]bool, maxEvents),
130130
anyNoComps: make([]bool, maxEvents),

ecs/storage.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ type storage struct {
2424
entityPool entityPool // Entity pool for creation and recycling
2525
registry componentRegistry // Component registry
2626
locks lock // World locks
27-
observers observerManager // Observer/event manager
27+
observers *observerManager // Observer/event manager
2828
config config // Storage configuration (initial capacities)
2929
}
3030

ecs/world_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ func TestWorldReset(t *testing.T) {
488488
expectEqual(t, 4, query.Count())
489489
query.Close()
490490

491-
obs := &world.storage.observers
491+
obs := world.storage.observers
492492
expectEqual(t, maxObserverID, o.id)
493493
expectTrue(t, obs.allComps[OnCreateEntity].IsZero())
494494
expectTrue(t, obs.allWith[OnCreateEntity].IsZero())

0 commit comments

Comments
 (0)