Changeset 229911 in webkit


Ignore:
Timestamp:
Mar 23, 2018 11:44:17 AM (6 years ago)
Author:
mark.lam@apple.com
Message:

Add more support for pointer profiling.
https://bugs.webkit.org/show_bug.cgi?id=183943
<rdar://problem/38799068>

Reviewed by JF Bastien.

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::linkJumpOrCall):

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::repatchNearCall):
(JSC::AbstractMacroAssembler::tagReturnAddress):
(JSC::AbstractMacroAssembler::untagReturnAddress):

Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r229893 r229911  
     12018-03-23  Mark Lam  <mark.lam@apple.com>
     2
     3        Add more support for pointer profiling.
     4        https://bugs.webkit.org/show_bug.cgi?id=183943
     5        <rdar://problem/38799068>
     6
     7        Reviewed by JF Bastien.
     8
     9        * assembler/ARM64Assembler.h:
     10        (JSC::ARM64Assembler::linkJumpOrCall):
     11        * assembler/AbstractMacroAssembler.h:
     12        (JSC::AbstractMacroAssembler::repatchNearCall):
     13        (JSC::AbstractMacroAssembler::tagReturnAddress):
     14        (JSC::AbstractMacroAssembler::untagReturnAddress):
     15
    1162018-03-23  Yusuke Suzuki  <utatane.tea@gmail.com>
    217
  • trunk/Source/JavaScriptCore/assembler/ARM64Assembler.h

    r229609 r229911  
    30353035        ASSERT(!(reinterpret_cast<intptr_t>(from) & 3));
    30363036        ASSERT(!(reinterpret_cast<intptr_t>(to) & 3));
    3037         intptr_t offset = (removeCodePtrTag<intptr_t>(to) - removeCodePtrTag<intptr_t>(fromInstruction)) >> 2;
     3037        assertIsNotTagged(to);
     3038        assertIsNotTagged(fromInstruction);
     3039        intptr_t offset = (reinterpret_cast<intptr_t>(to) - reinterpret_cast<intptr_t>(fromInstruction)) >> 2;
    30383040        ASSERT(static_cast<int>(offset) == offset);
    30393041
  • trunk/Source/JavaScriptCore/assembler/AbstractMacroAssembler.h

    r229609 r229911  
    896896    static void repatchNearCall(CodeLocationNearCall nearCall, CodeLocationLabel destination)
    897897    {
     898        assertIsTaggedWith(destination.executableAddress(), NearCallPtrTag);
    898899        switch (nearCall.callMode()) {
    899900        case NearCallMode::Tail:
     
    953954        buffer.setCodeSize(targetCodeSize);
    954955    }
     956
     957    ALWAYS_INLINE void tagReturnAddress() { }
     958    ALWAYS_INLINE void untagReturnAddress() { }
    955959
    956960    ALWAYS_INLINE void tagPtr(RegisterID, PtrTag) { }
Note: See TracChangeset for help on using the changeset viewer.