Add MacroAssembler::patchableBranch64 and fix ARM64's patchableBranchPtr
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 7 Aug 2015 17:31:27 +0000 (17:31 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 7 Aug 2015 17:31:27 +0000 (17:31 +0000)
commit1485707f20ec725e9f140734f24b87c87598e6cc
treecf7517973d7013faf3f8543298c37b6dd366f1e1
parentc8775a49951bfc06cc9c6511c7c5fd7e96b20b9b
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
Source/JavaScriptCore/jit/JIT.h
Source/JavaScriptCore/jit/JITInlines.h
Source/JavaScriptCore/jit/JITPropertyAccess.cpp