Skip to content

Commit 9c1fa14

Browse files
committed
More objc_msgSend() and ARC hotspots.
1 parent 7442cd3 commit 9c1fa14

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

cocos2d/CCNoARC.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@ @implementation CCSprite(NoARC)
5858
static inline void
5959
EnqueueTriangles(CCSprite *self, CCRenderer *renderer, const GLKMatrix4 *transform)
6060
{
61-
CCRenderBuffer buffer = [renderer enqueueTriangles:2 andVertexes:4 withState:self.renderState globalSortOrder:0];
61+
CCRenderState *state = self->_renderState ?: self.renderState;
62+
CCRenderBuffer buffer = [renderer enqueueTriangles:2 andVertexes:4 withState:state globalSortOrder:0];
63+
6264
CCRenderBufferSetVertex(buffer, 0, CCVertexApplyTransform(self->_verts.bl, transform));
6365
CCRenderBufferSetVertex(buffer, 1, CCVertexApplyTransform(self->_verts.br, transform));
6466
CCRenderBufferSetVertex(buffer, 2, CCVertexApplyTransform(self->_verts.tr, transform));

cocos2d/CCNode.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1406,7 +1406,8 @@ -(void)setPositionInPoints:(CGPoint)positionInPoints
14061406

14071407
- (CGAffineTransform)nodeToParentTransform
14081408
{
1409-
CCPhysicsBody *physicsBody = GetBodyIfRunning(self);
1409+
// The body ivar cannot be changed while this method is running and it's ARC retain/release is 70% of the profile samples for this method.
1410+
__unsafe_unretained CCPhysicsBody *physicsBody = GetBodyIfRunning(self);
14101411
if(physicsBody){
14111412

14121413
CGAffineTransform rigidTransform;

0 commit comments

Comments
 (0)