|author||Meghana Gupta <firstname.lastname@example.org>||Tue Feb 12 02:30:53 2019|
|committer||Meghana Gupta <email@example.com>||Thu Apr 25 18:49:30 2019|
OS#19979778 : Merge uses of auxSlotPtrSym on dead edges as well This is a fix for use-before-def of an auxSlotPtrSym. When there is a LdFld which is a candidate of ReuseAuxSlotSymPtr optimization inside the loop which has no backedge (all are dead), the DeadStore phase never marks SetProducesAuxSlotPtr on the opnd. This is because we don't merge upwardExposedUses on dead edges, and so the optimization never sees a set bit of the auxSlotPtrSym in upwardExposedUses in the 2nd pass. Ideally, if GlobOpt reset block->loopbfor such loops after GlobOpt::RemoveCodeAfterNoFallThroughInstr we wouldn't be seeing this. With this change we have a new bit vector called auxSlotPtrUpwardExposedUses which we merge on even dead successor edges to fix this issue.
You can stay up-to-date on progress by following the MSEdge developer blog.
|Windows 10 (x64)|
|Windows 10 (x86)|
|Windows 10 (ARM)|
|Windows 10 (ARM64)|
|Ubuntu 16.04 (x64)[a]|
|Ubuntu 16.04 (x64)[s]|
|Ubuntu 16.04 (x64)[s][n]||*||*|
|macOS 10.13 (x64)[a]|
|macOS 10.13 (x64)[s][n]||*||*|
[a] Static | [s] Shared | [n] NoJIT | * Omitted
Above is a table of our rolling build status. We run additional builds on a daily basis. See Build Status for the status of all builds and additional details.
If you believe you have found a security issue in ChakraCore, please share it with us privately following the guidance at the Microsoft Security TechCenter. Reporting it via this channel helps minimize risk to projects built with ChakraCore.
You can build ChakraCore on Windows 7 SP1 or above, and Windows Server 2008 R2 or above, with either Visual Studio 2015 or 2017 with C++ support installed. Once you have Visual Studio installed:
git clone https://github.com/Microsoft/ChakraCore.git
Build\Chakra.Core.slnin Visual Studio
More details in Building ChakraCore.
Alternatively, see Getting ChakraCore binaries for pre-built ChakraCore binaries.
Once built, you have a few options for how you can use ChakraCore:
document.write() are additional APIs that are not available by default and would need to be provided. For debugging, you may instead want to use
Contributions to ChakraCore are welcome. Here is how you can contribute to ChakraCore:
Please refer to Contribution Guidelines for more details.
Code licensed under the MIT License.
For details on our planned features and future direction please refer to our Roadmap.
If you have questions about ChakraCore, or you would like to reach out to us about an issue you're having or for development advice as you work on a ChakraCore issue, you can reach us as follows: