Ignore:
Timestamp:
Feb 20, 2014, 4:00:12 PM (11 years ago)
Author:
[email protected]
Message:

FTL may not see a compact_unwind section if there weren't any stackmaps
https://bugs.webkit.org/show_bug.cgi?id=129125

Reviewed by Geoffrey Garen.

It's OK to not have an unwind section, so long as the function also doesn't have any
OSR exits.

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):
(JSC::FTL::compile):

  • ftl/FTLUnwindInfo.cpp:

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

  • ftl/FTLUnwindInfo.h:
File:
1 edited

Legend:

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

    r164333 r164456  
    4949} // anonymous namespace
    5050
    51 void UnwindInfo::parse(void* section, size_t size, GeneratedFunction generatedFunction)
     51bool UnwindInfo::parse(void* section, size_t size, GeneratedFunction generatedFunction)
    5252{
    5353    m_registers.clear();
    5454   
    55     RELEASE_ASSERT(section);
     55    RELEASE_ASSERT(!!section == !!size);
     56    if (!section)
     57        return false;
     58   
    5659    RELEASE_ASSERT(size >= sizeof(CompactUnwind));
    5760   
     
    157160   
    158161    std::sort(m_registers.begin(), m_registers.end());
     162    return true;
    159163}
    160164
Note: See TracChangeset for help on using the changeset viewer.