SuccessChanges

Summary

  1. RelationSlot was compiling a reflective write. But we can do better; (details)
  2. Fix to make the BC correct (details)
  3. use #ifNotNil: to save some message sends (details)
  4. another small fix (details)
Commit b869f839c8a5f30676e79649e2a7379cf3d1a05c by marcus.denker
RelationSlot was compiling a reflective write. But we can do better;
- refactor write: to:  so we do most of the stuff in another method
- implement emitStore: to call that method and use bytecodes to acces
ivars
This PR was done to speed up Moose which uses RelationSlots a lot.
The file was modifiedsrc/Slot-Examples/RelationSlot.class.st (diff)
The file was modifiedsrc/Slot-Examples/ToOneRelationSlot.class.st (diff)
Commit 9c864c8681d8f794cbdd41a3cc95851e16c9ac79 by marcus.denker
Fix to make the BC correct
The file was modifiedsrc/Slot-Examples/ToOneRelationSlot.class.st (diff)
The file was modifiedsrc/Slot-Examples/RelationSlot.class.st (diff)
Commit 323045ba13fc825e3914ad8276901c0f88daf966 by marcus.denker
use #ifNotNil: to save some message sends
The file was modifiedsrc/Slot-Examples/ToOneRelationSlot.class.st (diff)
The file was modifiedsrc/Slot-Examples/ToOneRelationSlot.class.st (diff)

Summary

  1. RelationSlot was compiling a reflective write. But we can do better; (details)
  2. Fix to make the BC correct (details)
  3. use #ifNotNil: to save some message sends (details)
  4. another small fix (details)
Commit b869f839c8a5f30676e79649e2a7379cf3d1a05c by marcus.denker
RelationSlot was compiling a reflective write. But we can do better;
- refactor write: to:  so we do most of the stuff in another method
- implement emitStore: to call that method and use bytecodes to acces
ivars
This PR was done to speed up Moose which uses RelationSlots a lot.
The file was modifiedsrc/Slot-Examples/RelationSlot.class.st (diff)
The file was modifiedsrc/Slot-Examples/ToOneRelationSlot.class.st (diff)
Commit 9c864c8681d8f794cbdd41a3cc95851e16c9ac79 by marcus.denker
Fix to make the BC correct
The file was modifiedsrc/Slot-Examples/RelationSlot.class.st (diff)
The file was modifiedsrc/Slot-Examples/ToOneRelationSlot.class.st (diff)
Commit 323045ba13fc825e3914ad8276901c0f88daf966 by marcus.denker
use #ifNotNil: to save some message sends
The file was modifiedsrc/Slot-Examples/ToOneRelationSlot.class.st (diff)
The file was modifiedsrc/Slot-Examples/ToOneRelationSlot.class.st (diff)