Skip to content

Commit 4b8ec55

Browse files
committed
[MERGE #5600 @pleath] Stop sharing inline caches by default
Merge pull request #5600 from pleath:dontsharecache Sharing inline caches across more than one instruction causes problems for objtypespec-related transformations and in particular for depolymorphication. Disable it by default preparatory to re-enabling depolymorphication.
2 parents 803b002 + b8457e2 commit 4b8ec55

File tree

11 files changed

+20668
-20370
lines changed

11 files changed

+20668
-20370
lines changed

lib/Common/ConfigFlagsList.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,7 @@ PHASE(All)
763763
#define DEFAULT_CONFIG_LibraryStackFrameDebugger (false)
764764

765765
#define DEFAULT_CONFIG_FuncObjectInlineCacheThreshold (2) // Maximum number of inline caches a function body may have to allow for inline caches to be allocated on the function object.
766-
#define DEFAULT_CONFIG_ShareInlineCaches (true)
766+
#define DEFAULT_CONFIG_ShareInlineCaches (false)
767767
#define DEFAULT_CONFIG_InlineCacheInvalidationListCompactionThreshold (4)
768768
#define DEFAULT_CONFIG_ConstructorCacheInvalidationThreshold (500)
769769

lib/Runtime/ByteCode/FuncInfo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -674,7 +674,7 @@ class FuncInfo
674674
}
675675

676676
// If we share inline caches we should never have more than one entry in the list.
677-
Assert(Js::FunctionBody::ShouldShareInlineCaches() || cacheList->Count() <= 1);
677+
Assert(!Js::FunctionBody::ShouldShareInlineCaches() || cacheList->Count() <= 1);
678678

679679
InlineCacheUnit cacheIdUnit;
680680

lib/Runtime/Library/InJavascript/Intl.js.bc.32b.h

Lines changed: 5248 additions & 5183 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/InJavascript/Intl.js.bc.64b.h

Lines changed: 5247 additions & 5182 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/InJavascript/Intl.js.nojit.bc.32b.h

Lines changed: 4586 additions & 4521 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/InJavascript/Intl.js.nojit.bc.64b.h

Lines changed: 4585 additions & 4520 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/JsBuiltIn/JsBuiltIn.js.bc.32b.h

Lines changed: 261 additions & 252 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/JsBuiltIn/JsBuiltIn.js.bc.64b.h

Lines changed: 261 additions & 252 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/JsBuiltIn/JsBuiltIn.js.nojit.bc.32b.h

Lines changed: 238 additions & 229 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/JsBuiltIn/JsBuiltIn.js.nojit.bc.64b.h

Lines changed: 238 additions & 229 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)