Ignore:
Timestamp:
Aug 7, 2015, 10:31:27 AM (10 years ago)
Author:
Yusuke Suzuki
Message:

Add MacroAssembler::patchableBranch64 and fix ARM64's patchableBranchPtr
https://bugs.webkit.org/show_bug.cgi?id=147761

Reviewed by Mark Lam.

This patch implements MacroAssembler::patchableBranch64 in 64bit environments.
And fix the existing MacroAssemblerARM64::patchableBranchPtr, before this patch,
it truncates the immediate pointer into the 32bit immediate.
And use patchableBranch64 in the baseline JIT under the JSVALUE64 configuration.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::patchableBranchPtr):
(JSC::MacroAssemblerARM64::patchableBranch64):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::patchableBranch64):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::emitPatchableJumpIfNotImmediateInteger):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JIT.h

    r188105 r188135  
    451451        Jump emitJumpIfNotImmediateInteger(RegisterID);
    452452        Jump emitJumpIfNotImmediateIntegers(RegisterID, RegisterID, RegisterID);
     453        PatchableJump emitPatchableJumpIfNotImmediateInteger(RegisterID);
    453454        void emitJumpSlowCaseIfNotImmediateInteger(RegisterID);
    454455        void emitJumpSlowCaseIfNotImmediateNumber(RegisterID);
Note: See TracChangeset for help on using the changeset viewer.