• fpizlo@apple.com's avatar
    Get rid of forward exit on DoubleAsInt32 · 5120492e
    fpizlo@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=125552
    
    PerformanceTests/SunSpider: 
    
    Reviewed by Oliver Hunt.
            
    Use SunSpider as a kind of spot-check for the
    no-architecture-specific-optimization paths in the compiler.
    
    * no-architecture-specific-optimizations.yaml: Added.
    
    Source/JavaScriptCore: 
    
    Reviewed by Oliver Hunt.
            
    The forward exit was just there so that we wouldn't have to keep the inputs alive up to
    the DoubleAsInt32. That's dumb. Forward exits are a complicated piece of machinery and
    we shouldn't have it just for a bit of liveness micro-optimization.
            
    Also add a bunch of machinery to test this case on X86.
    
    * assembler/AbstractMacroAssembler.h:
    (JSC::optimizeForARMv7s):
    (JSC::optimizeForARM64):
    (JSC::optimizeForX86):
    * dfg/DFGFixupPhase.cpp:
    (JSC::DFG::FixupPhase::fixupNode):
    * dfg/DFGNodeType.h:
    * dfg/DFGSpeculativeJIT.cpp:
    (JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
    * runtime/Options.h:
    * tests/stress/double-as-int32.js: Added.
    (foo):
    (test):
    
    Tools: 
    
    Reviewed by Oliver Hunt.
            
    Add some support for testing the generic (non-X86) paths on X86 by disabling
    architecture-specific optimizations (ASO's).
    
    * Scripts/run-javascriptcore-tests:
    * Scripts/run-jsc-stress-tests:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    5120492e