Skip to content

Commit 9d254ea

Browse files
committed
Pacify Valgrind (by fixing a somewhat theoretical bug).
1 parent 64b2fa7 commit 9d254ea

File tree

5 files changed

+22
-11
lines changed

5 files changed

+22
-11
lines changed

Source/JavaScriptCore/llint/InPlaceInterpreter.asm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -812,7 +812,8 @@ macro ipintCatchCommon()
812812
# 1 << 4 == StackValueSize
813813
lshiftq 4, t0
814814
addq IPIntCalleeSaveSpaceStackAligned, t0
815-
subp cfr, t0, sp
815+
subp cfr, t0, t0
816+
move t0, sp
816817
end
817818

818819
global _ipint_catch_entry

Source/JavaScriptCore/llint/LowLevelInterpreter.asm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1101,7 +1101,8 @@ macro restoreStackPointerAfterCall()
11011101
subp cfr, t2, t2
11021102
move t2, sp
11031103
else
1104-
subp cfr, t2, sp
1104+
subp cfr, t2, t2
1105+
move t2, sp
11051106
end
11061107
end
11071108

Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,8 @@ macro doVMEntry(makeCall)
340340
subp cfr, CalleeRegisterSaveSize, t5
341341
move t5, sp
342342
else
343-
subp cfr, CalleeRegisterSaveSize, sp
343+
subp cfr, CalleeRegisterSaveSize, t5
344+
move t5, sp
344345
end
345346

346347
popCalleeSaves()
@@ -379,7 +380,8 @@ _llint_throw_stack_overflow_error_from_vm_entry:
379380
subp cfr, CalleeRegisterSaveSize, t5
380381
move t5, sp
381382
else
382-
subp cfr, CalleeRegisterSaveSize, sp
383+
subp cfr, CalleeRegisterSaveSize, t5
384+
move t5, sp
383385
end
384386

385387
popCalleeSaves()
@@ -452,7 +454,8 @@ op(llint_handle_uncaught_exception, macro()
452454
subp cfr, CalleeRegisterSaveSize, t3
453455
move t3, sp
454456
else
455-
subp cfr, CalleeRegisterSaveSize, sp
457+
subp cfr, CalleeRegisterSaveSize, t3
458+
move t3, sp
456459
end
457460

458461
popCalleeSaves()

Source/JavaScriptCore/llint/LowLevelInterpreter64.asm

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,8 @@ macro doVMEntry(makeCall)
357357
storep t2, VM::topEntryFrame[vm]
358358
end
359359

360-
subp cfr, CalleeRegisterSaveSize, sp
360+
subp cfr, CalleeRegisterSaveSize, t2
361+
move t2, sp
361362

362363
popCalleeSaves()
363364
functionEpilogue()
@@ -383,7 +384,8 @@ _llint_throw_stack_overflow_error_from_vm_entry:
383384

384385
move ValueUndefined, r0
385386

386-
subp cfr, CalleeRegisterSaveSize, sp
387+
subp cfr, CalleeRegisterSaveSize, t4
388+
move t4, sp
387389
popCalleeSaves()
388390
functionEpilogue()
389391
ret
@@ -445,7 +447,8 @@ op(llint_handle_uncaught_exception, macro ()
445447

446448
move ValueUndefined, r0
447449

448-
subp cfr, CalleeRegisterSaveSize, sp
450+
subp cfr, CalleeRegisterSaveSize, t3
451+
move t3, sp
449452
popCalleeSaves()
450453
functionEpilogue()
451454
ret

Source/JavaScriptCore/llint/WebAssembly.asm

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,8 @@ if ARMv7
381381
subp cfr, ws1, ws1
382382
move ws1, sp
383383
else
384-
subp cfr, ws1, sp
384+
subp cfr, ws1, ws1
385+
move ws1, sp
385386
end
386387
end
387388

@@ -1012,7 +1013,8 @@ if ARMv7
10121013
subp cfr, ws1, ws1
10131014
move ws1, sp
10141015
else
1015-
subp cfr, ws1, sp
1016+
subp cfr, ws1, ws1
1017+
move ws1, sp
10161018
end
10171019

10181020
wgetu(ctx, m_numberOfStackArgs, ws1)
@@ -1169,7 +1171,8 @@ if ARMv7
11691171
subp cfr, ws1, ws1
11701172
move ws1, sp
11711173
else
1172-
subp cfr, ws1, sp
1174+
subp cfr, ws1, ws1
1175+
move ws1, sp
11731176
end
11741177

11751178
storeWasmInstance(targetWasmInstance)

0 commit comments

Comments
 (0)