Ignore:
Timestamp:
Nov 7, 2013, 3:45:56 PM (12 years ago)
Author:
[email protected]
Message:

Change CallFrameRegister to architected frame pointer register
https://bugs.webkit.org/show_bug.cgi?id=123956

Reviewed by Geoffrey Garen.

Changed X86 and ARM variants as well as MIPS to use their respective architected
frame pointer registers. The freed up callFrameRegisteris are made available to
the DFG register allocator. Modified the FTL OSR exit compiler to use a temporary
register as a stand in for the destination callFrameRegister since the FTL frame
pointer register is needed to extract values from the FTL stack.

Reviewed by Geoffrey Garen.

  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:
  • assembler/MacroAssemblerMIPS.h:
  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::addressFor):

  • jit/GPRInfo.h:

(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):

  • jit/JITOperations.cpp:
  • jit/JSInterfaceJIT.h:
  • jit/ThunkGenerators.cpp:

(JSC::callToJavaScript):

  • offlineasm/arm.rb:
  • offlineasm/arm64.rb:
  • offlineasm/mips.rb:
  • offlineasm/x86.rb:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/offlineasm/x86.rb

    r154095 r158883  
    167167                case kind
    168168                when :half
    169                     "%r13w"
     169                    "%bp"
    170170                when :int
    171                     "%r13d"
     171                    "%ebp"
    172172                when :ptr
    173                     "%r13"
     173                    "%rbp"
    174174                when :quad
    175                     "%r13"
     175                    "%rbp"
    176176                else
    177177                    raise
     
    179179            else
    180180                case kind
    181                 when :byte
    182                     "%dil"
    183181                when :half
    184                     "%di"
     182                    "%bp"
    185183                when :int
    186                     "%edi"
     184                    "%ebp"
    187185                when :ptr
    188                     "%edi"
     186                    "%ebp"
    189187                else
    190188                    raise
Note: See TracChangeset for help on using the changeset viewer.