From 00b8b94ba2a1f77f5f66a7c7054d921538d149bf Mon Sep 17 00:00:00 2001 From: Jordan Hawker Date: Fri, 20 Jan 2017 13:20:21 -0800 Subject: [PATCH 1/2] Run backtracking assertion only in debug mode This wraps the `assertNotRendered` check in `runInDebug` so that it won't execute in production, even when either of the flags are enabled. --- packages/ember-metal/lib/property_events.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/ember-metal/lib/property_events.js b/packages/ember-metal/lib/property_events.js index 1de0904041c..74b59bfe617 100644 --- a/packages/ember-metal/lib/property_events.js +++ b/packages/ember-metal/lib/property_events.js @@ -1,4 +1,5 @@ import { guidFor, symbol } from 'ember-utils'; +import { runInDebug } from 'ember-metal'; import { peekMeta } from './meta'; @@ -113,8 +114,8 @@ function propertyDidChange(obj, keyName, _meta) { markObjectAsDirty(meta, keyName); if (isEnabled('ember-glimmer-detect-backtracking-rerender') || - isEnabled('ember-glimmer-allow-backtracking-rerender')) { - assertNotRendered(obj, keyName, meta); + isEnabled('ember-glimmer-allow-backtracking-rerender')) { + runInDebug(() => { assertNotRendered(obj, keyName, meta) }); } } From ef864d923513896ed6c7619d0292f99f9dd353ec Mon Sep 17 00:00:00 2001 From: Jordan Hawker Date: Fri, 20 Jan 2017 13:38:34 -0800 Subject: [PATCH 2/2] Wrap entire conditional in runInDebug --- packages/ember-metal/lib/property_events.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/ember-metal/lib/property_events.js b/packages/ember-metal/lib/property_events.js index 74b59bfe617..b8bc6b772d8 100644 --- a/packages/ember-metal/lib/property_events.js +++ b/packages/ember-metal/lib/property_events.js @@ -113,10 +113,12 @@ function propertyDidChange(obj, keyName, _meta) { markObjectAsDirty(meta, keyName); - if (isEnabled('ember-glimmer-detect-backtracking-rerender') || - isEnabled('ember-glimmer-allow-backtracking-rerender')) { - runInDebug(() => { assertNotRendered(obj, keyName, meta) }); - } + runInDebug(() => { + if (isEnabled('ember-glimmer-detect-backtracking-rerender') || + isEnabled('ember-glimmer-allow-backtracking-rerender')) { + assertNotRendered(obj, keyName, meta) + } + }); } let WILL_SEEN, DID_SEEN;