[JavaScriptCore] Fix FTL on platform EFL.
authorllango.u-szeged@partner.samsung.com <llango.u-szeged@partner.samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Sep 2014 08:52:22 +0000 (08:52 +0000)
committerllango.u-szeged@partner.samsung.com <llango.u-szeged@partner.samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Sep 2014 08:52:22 +0000 (08:52 +0000)
commit9ee11f12594fa87916f10cb207180825742f1b8b
treef669d1f39c56603af371146d3352d5e07b479f16
parent9d2104a9350654be6f41d33bbb5ef949940ec0d2
[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):
* ftl/FTLJITCode.h:
We need the SECTION_NAME macro in FTLCompile and FTLLink, so we define it here.
* ftl/FTLLink.cpp:
(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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
15 files changed:
ChangeLog
Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/ftl/FTLCompile.cpp
Source/JavaScriptCore/ftl/FTLJITCode.h
Source/JavaScriptCore/ftl/FTLLink.cpp
Source/JavaScriptCore/ftl/FTLState.cpp
Source/JavaScriptCore/ftl/FTLState.h
Source/JavaScriptCore/ftl/FTLUnwindInfo.cpp
Source/JavaScriptCore/ftl/FTLUnwindInfo.h
Source/cmake/FindLIBCXXABI.cmake [deleted file]
Source/cmake/OptionsEfl.cmake
Tools/ChangeLog
Tools/efl/install-dependencies
Tools/efl/jhbuild.modules