Ignore:
Timestamp:
Dec 15, 2014, 2:58:17 PM (10 years ago)
Author:
Dániel Bátyai
Message:

[EFL] FTL JIT not working on ARM64
https://bugs.webkit.org/show_bug.cgi?id=139295

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Added the missing code for stack unwinding and some additional small fixes
to get FTL working correctly.

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection):

  • ftl/FTLUnwindInfo.cpp:

(JSC::FTL::UnwindInfo::parse):

Tools:

Added patches for llvm to add ARM64 support for FTL JIT

  • efl/jhbuild.modules:
  • efl/patches/llvm-elf-add-stackmaps-arm64.patch: Added.
  • efl/patches/llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch: Added.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ftl/FTLCompile.cpp

    r177222 r177315  
    9999#elif OS(LINUX)
    100100        if (!strcmp(sectionName, SECTION_NAME("eh_frame"))) {
     101#else
     102#error "Unrecognized OS"
    101103#endif
    102104            state.unwindDataSection = section->base();
     
    626628       
    627629        if (isARM64())
     630#if OS(DARWIN)
    628631            llvm->SetTarget(state.module, "arm64-apple-ios");
    629        
     632#elif OS(LINUX)
     633            llvm->SetTarget(state.module, "aarch64-linux-gnu");
     634#else
     635#error "Unrecognized OS"
     636#endif
     637
    630638        if (llvm->CreateMCJITCompilerForModule(&engine, state.module, &options, sizeof(options), &error)) {
    631639            dataLog("FATAL: Could not create LLVM execution engine: ", error, "\n");
Note: See TracChangeset for help on using the changeset viewer.