Ignore:
Timestamp:
Sep 11, 2014, 1:52:22 AM (11 years ago)
Author:
[email protected]
Message:

[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.

File:
1 edited

Legend:

Unmodified
Added
Removed
Note: See TracChangeset for help on using the changeset viewer.