⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 194715 in webkit


Ignore:
Timestamp:
Jan 7, 2016, 1:17:01 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

[mips] Implemented missing branch patching methods.
​https://bugs.webkit.org/show_bug.cgi?id=152845

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-07
Reviewed by Michael Saboff.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::canJumpReplacePatchableBranch32WithPatch):
(JSC::MacroAssemblerMIPS::startOfPatchableBranch32WithPatchOnAddress):
(JSC::MacroAssemblerMIPS::revertJumpReplacementToPatchableBranch32WithPatch):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r194714 r194715  
     12016-01-07  Konstantin Tokarev  <annulen@yandex.ru>
     2
     3        [mips] Implemented missing branch patching methods.
     4        https://bugs.webkit.org/show_bug.cgi?id=152845
     5
     6        Reviewed by Michael Saboff.
     7
     8        * assembler/MacroAssemblerMIPS.h:
     9        (JSC::MacroAssemblerMIPS::canJumpReplacePatchableBranch32WithPatch):
     10        (JSC::MacroAssemblerMIPS::startOfPatchableBranch32WithPatchOnAddress):
     11        (JSC::MacroAssemblerMIPS::revertJumpReplacementToPatchableBranch32WithPatch):
     12
    1132016-01-07  Benjamin Poulain  <bpoulain@apple.com>
    214
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h

    r194713 r194715  
    28052805
    28062806    static bool canJumpReplacePatchableBranchPtrWithPatch() { return false; }
    2807 
    2808     static CodeLocationLabel startOfBranchPtrWithPatchOnRegister(CodeLocationDataLabelPtr label)
    2809     {
    2810         return label.labelAtOffset(0);
    2811     }
    2812 
    2813     static void revertJumpReplacementToBranchPtrWithPatch(CodeLocationLabel instructionStart, RegisterID, void* initialValue)
    2814     {
    2815         MIPSAssembler::revertJumpToMove(instructionStart.dataLocation(), immTempRegister, reinterpret_cast<int>(initialValue) & 0xffff);
    2816     }
    2817 
    2818     static CodeLocationLabel startOfPatchableBranchPtrWithPatchOnAddress(CodeLocationDataLabelPtr)
     2807    static bool canJumpReplacePatchableBranch32WithPatch() { return false; }
     2808
     2809    static CodeLocationLabel startOfPatchableBranch32WithPatchOnAddress(CodeLocationDataLabel32)
    28192810    {
    28202811        UNREACHABLE_FOR_PLATFORM();
    28212812        return CodeLocationLabel();
     2813    }
     2814
     2815    static CodeLocationLabel startOfBranchPtrWithPatchOnRegister(CodeLocationDataLabelPtr label)
     2816    {
     2817        return label.labelAtOffset(0);
     2818    }
     2819
     2820    static void revertJumpReplacementToBranchPtrWithPatch(CodeLocationLabel instructionStart, RegisterID, void* initialValue)
     2821    {
     2822        MIPSAssembler::revertJumpToMove(instructionStart.dataLocation(), immTempRegister, reinterpret_cast<int>(initialValue) & 0xffff);
     2823    }
     2824
     2825    static CodeLocationLabel startOfPatchableBranchPtrWithPatchOnAddress(CodeLocationDataLabelPtr)
     2826    {
     2827        UNREACHABLE_FOR_PLATFORM();
     2828        return CodeLocationLabel();
     2829    }
     2830
     2831    static void revertJumpReplacementToPatchableBranch32WithPatch(CodeLocationLabel, Address, int32_t)
     2832    {
     2833        UNREACHABLE_FOR_PLATFORM();
    28222834    }
    28232835
Note: See TracChangeset for help on using the changeset viewer.