[JSC] Reenable baseline JIT on mips
authorguijemont@igalia.com <guijemont@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Jan 2019 12:04:36 +0000 (12:04 +0000)
committerguijemont@igalia.com <guijemont@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Jan 2019 12:04:36 +0000 (12:04 +0000)
commite2a282ac7a2f559892c4fe4788f417c79e3019c4
tree8a589cd557a8773b35f0a12d92aa0261ae9ef8e7
parent68585185fd72b4bf76b65e3e0ac3ae1922fda0ff
[JSC] Reenable baseline JIT on mips
https://bugs.webkit.org/show_bug.cgi?id=192983

Reviewed by Mark Lam.

.:

Use baseline JIT by default on MIPS.

* Source/cmake/WebKitFeatures.cmake:

JSTests:

Added a new test for a case that was triggering a RELEASE_ASSERT when
testing.
Disable some slow tests that were already disabled for arm and x86.

* stress/json-parse-big-object.js: Added.
* stress/new-largeish-contiguous-array-with-size.js:
* stress/op_add.js:
* stress/op_bitand.js:
* stress/op_bitor.js:
* stress/op_bitxor.js:
* stress/op_lshift-ConstVar.js:
* stress/op_lshift-VarConst.js:
* stress/op_lshift-VarVar.js:
* stress/op_mod-ConstVar.js:
* stress/op_mod-VarConst.js:
* stress/op_mod-VarVar.js:
* stress/op_mul-ConstVar.js:
* stress/op_mul-VarConst.js:
* stress/op_mul-VarVar.js:
* stress/op_rshift-ConstVar.js:
* stress/op_rshift-VarConst.js:
* stress/op_rshift-VarVar.js:
* stress/op_sub-ConstVar.js:
* stress/op_sub-VarConst.js:
* stress/op_sub-VarVar.js:
* stress/op_urshift-ConstVar.js:
* stress/op_urshift-VarConst.js:
* stress/op_urshift-VarVar.js:
* stress/sampling-profiler-richards.js:
* stress/spread-forward-call-varargs-stack-overflow.js:

Source/JavaScriptCore:

Use $s0 as metadata register and make sure it's properly saved and
restored.

* jit/GPRInfo.h:
* jit/RegisterSet.cpp:
(JSC::RegisterSet::vmCalleeSaveRegisters):
(JSC::RegisterSet::llintBaselineCalleeSaveRegisters):
* llint/LowLevelInterpreter.asm:
* offlineasm/mips.rb:

Source/WTF:

Use baseline JIT by default on MIPS.

* wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
36 files changed:
ChangeLog
JSTests/ChangeLog
JSTests/stress/json-parse-big-object.js [new file with mode: 0644]
JSTests/stress/new-largeish-contiguous-array-with-size.js
JSTests/stress/op_add.js
JSTests/stress/op_bitand.js
JSTests/stress/op_bitor.js
JSTests/stress/op_bitxor.js
JSTests/stress/op_lshift-ConstVar.js
JSTests/stress/op_lshift-VarConst.js
JSTests/stress/op_lshift-VarVar.js
JSTests/stress/op_mod-ConstVar.js
JSTests/stress/op_mod-VarConst.js
JSTests/stress/op_mod-VarVar.js
JSTests/stress/op_mul-ConstVar.js
JSTests/stress/op_mul-VarConst.js
JSTests/stress/op_mul-VarVar.js
JSTests/stress/op_rshift-ConstVar.js
JSTests/stress/op_rshift-VarConst.js
JSTests/stress/op_rshift-VarVar.js
JSTests/stress/op_sub-ConstVar.js
JSTests/stress/op_sub-VarConst.js
JSTests/stress/op_sub-VarVar.js
JSTests/stress/op_urshift-ConstVar.js
JSTests/stress/op_urshift-VarConst.js
JSTests/stress/op_urshift-VarVar.js
JSTests/stress/sampling-profiler-richards.js
JSTests/stress/spread-forward-call-varargs-stack-overflow.js
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/jit/GPRInfo.h
Source/JavaScriptCore/jit/RegisterSet.cpp
Source/JavaScriptCore/llint/LowLevelInterpreter.asm
Source/JavaScriptCore/offlineasm/mips.rb
Source/WTF/ChangeLog
Source/WTF/wtf/Platform.h
Source/cmake/WebKitFeatures.cmake