[JavaScriptCore] Fix FTL on platform EFL.
https://bugs.webkit.org/show_bug.cgi?id=133571
Reviewed by Filip Pizlo.
.:
Revert r169181.
- Source/cmake/FindLIBCXXABI.cmake: Removed.
- Source/cmake/OptionsEfl.cmake:
Source/JavaScriptCore:
There are no compact_unwind sections on Linux systems so FTL crashes.
We have to parse eh_frame in FTLUnwindInfo instead of compact_unwind
and get the information for stack unwinding from there.
- CMakeLists.txt: Revert r169181.
- ftl/FTLCompile.cpp:
Change section name literals to use SECTION_NAME macro, because of architecture differencies.
(JSC::FTL::mmAllocateCodeSection):
(JSC::FTL::mmAllocateDataSection):
(JSC::FTL::compile):
We need the SECTION_NAME macro in FTLCompile and FTLLink, so we define it here.
(JSC::FTL::link):
- ftl/FTLState.h:
- ftl/FTLState.cpp:
(JSC::FTL::State::State):
- ftl/FTLUnwindInfo.h:
- ftl/FTLUnwindInfo.cpp:
Lift the eh_frame parsing method from LLVM/libcxxabi project and modify it for our purposes.
Parse eh_frame on Linux instead of compact_unwind.
(JSC::FTL::UnwindInfo::parse):
Tools:
- efl/install-dependencies: Revert r169181.
- efl/jhbuild.modules: Clone and build a custom branch.
This branch contains some fix for FTL of platform EFL.
The branch is a fork of llvm r206311.