diff --git a/lib/Runtime/Language/JavascriptStackWalker.cpp b/lib/Runtime/Language/JavascriptStackWalker.cpp index c1dd3fce946..edef4942fcf 100644 --- a/lib/Runtime/Language/JavascriptStackWalker.cpp +++ b/lib/Runtime/Language/JavascriptStackWalker.cpp @@ -881,7 +881,9 @@ namespace Js // Under some odd cases on x86, addressOfReturnAddress and stashed entry address need to be aligned. // This happens when code is generated using two stack pointers. One or both have the address of // return address offset by 4, 8, or 12. - || ((uint)addressOfReturnAddress & ~0xFF) == ((uint)nativeLibraryEntryAddress & ~0xFF) + || (((uint)nativeLibraryEntryAddress - (uint)addressOfReturnAddress < 0x10) && + *(void**)addressOfReturnAddress == *(void**)nativeLibraryEntryAddress + ) #endif ; }