Skip to content

Commit 4ef2175

Browse files
committed
Unreviewed, fix CLoop build
https://bugs.webkit.org/show_bug.cgi?id=229223 * llint/LLIntOfflineAsmConfig.h: * llint/LowLevelInterpreter64.asm: Canonical link: https://commits.webkit.org/242161@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent a303c1c commit 4ef2175

File tree

3 files changed

+29
-13
lines changed

3 files changed

+29
-13
lines changed

Source/JavaScriptCore/ChangeLog

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
2021-09-27 Yusuke Suzuki <[email protected]>
2+
3+
Unreviewed, fix CLoop build
4+
https://bugs.webkit.org/show_bug.cgi?id=229223
5+
6+
* llint/LLIntOfflineAsmConfig.h:
7+
* llint/LowLevelInterpreter64.asm:
8+
19
2021-09-27 Saam Barati <[email protected]>
210

311
Build an unlinked baseline JIT

Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,12 @@
169169

170170
#define OFFLINE_ASM_GIGACAGE_ENABLED GIGACAGE_ENABLED
171171

172+
#if ENABLE(JIT)
173+
#define OFFLINE_ASM_JIT 1
174+
#else
175+
#define OFFLINE_ASM_JIT 0
176+
#endif
177+
172178
#if ENABLE(WEBASSEMBLY)
173179
#define OFFLINE_ASM_WEBASSEMBLY 1
174180
#else

Source/JavaScriptCore/llint/LowLevelInterpreter64.asm

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -440,19 +440,21 @@ macro checkSwitchToJITForLoop()
440440
move cfr, a0
441441
move PC, a1
442442
cCall2(_llint_loop_osr)
443-
btpz r0, .recover
444-
move r1, sp
445-
446-
# Baseline uses LLInt's PB register for its JIT constant pool.
447-
loadp CodeBlock[cfr], PB
448-
loadp CodeBlock::m_jitData[PB], PB
449-
loadp CodeBlock::JITData::m_jitConstantPool[PB], PB
450-
451-
if ARM64E
452-
leap JSCConfig + constexpr JSC::offsetOfJSCConfigGateMap + (constexpr Gate::loopOSREntry) * PtrSize, a2
453-
jmp [a2], NativeToJITGatePtrTag # JSEntryPtrTag
454-
else
455-
jmp r0, JSEntryPtrTag
443+
if not JIT
444+
btpz r0, .recover
445+
move r1, sp
446+
447+
# Baseline uses LLInt's PB register for its JIT constant pool.
448+
loadp CodeBlock[cfr], PB
449+
loadp CodeBlock::m_jitData[PB], PB
450+
loadp CodeBlock::JITData::m_jitConstantPool[PB], PB
451+
452+
if ARM64E
453+
leap JSCConfig + constexpr JSC::offsetOfJSCConfigGateMap + (constexpr Gate::loopOSREntry) * PtrSize, a2
454+
jmp [a2], NativeToJITGatePtrTag # JSEntryPtrTag
455+
else
456+
jmp r0, JSEntryPtrTag
457+
end
456458
end
457459
.recover:
458460
loadPC()

0 commit comments

Comments
 (0)