Skip to content
This repository has been archived by the owner on Oct 15, 2020. It is now read-only.

Commit

Permalink
deps: update ChakraCore to chakra-core/ChakraCore@17910d087a
Browse files Browse the repository at this point in the history
[MERGE #4252 @MSLaguana] Fixing x86 stack walking issue.

Merge pull request #4252 from MSLaguana:fixStackWalk

The code to deal with x86 aligned return values was too loose, occasionally resulting in missing stack frames. This change tries to more accurately determine when the return value has shifted due to alignment.

Reviewed-By: chakrabot <[email protected]>
  • Loading branch information
MSLaguana authored and chakrabot committed Nov 17, 2017
1 parent 0ffe499 commit 1bbca33
Showing 1 changed file with 3 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -853,7 +853,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
;
}
Expand Down

0 comments on commit 1bbca33

Please sign in to comment.