Skip to content

Commit 218de0f

Browse files
zjiazV8 LUCI CQ
authored andcommitted
[loong64][sandbox] Port some sandbox patches to loong64 part2
Port commit 2311eb0 - Make DeoptimizationData a trusted object Port commit 0981273 - Turn Code::deopt_data_or_interpreter_data into a trusted pointer Port commit 606956c - Use protected ptr for Code::deopt_data_or_interpreter_data Port commit f75673f - Use protected pointers in InterpreterData Port commit 0b51817 - Fix handling of InterpreterData in InterpreterEnterAtBytecode Change-Id: Ie19ba0b52d215b4e2da8191f5aaf4e02f027cacb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5307435 Commit-Queue: Igor Sheludko <[email protected]> Auto-Submit: Zhao Jiazhong <[email protected]> Commit-Queue: Zhao Jiazhong <[email protected]> Reviewed-by: Igor Sheludko <[email protected]> Cr-Commit-Position: refs/heads/main@{#92400}
1 parent 8d9647d commit 218de0f

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/builtins/loong64/builtins-loong64.cc

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -346,9 +346,8 @@ static void GetSharedFunctionInfoBytecodeOrBaseline(MacroAssembler* masm,
346346
#endif // !V8_JITLESS
347347

348348
__ Branch(&done, ne, scratch1, Operand(INTERPRETER_DATA_TYPE));
349-
__ LoadTrustedPointerField(
350-
bytecode, FieldMemOperand(data, InterpreterData::kBytecodeArrayOffset),
351-
kBytecodeArrayIndirectPointerTag);
349+
__ LoadProtectedPointerField(
350+
bytecode, FieldMemOperand(data, InterpreterData::kBytecodeArrayOffset));
352351

353352
__ bind(&done);
354353
}
@@ -1712,7 +1711,7 @@ static void Generate_InterpreterEnterBytecode(MacroAssembler* masm) {
17121711
__ JumpIfObjectType(&builtin_trampoline, ne, t0, INTERPRETER_DATA_TYPE,
17131712
kInterpreterDispatchTableRegister);
17141713

1715-
__ LoadTaggedField(
1714+
__ LoadProtectedPointerField(
17161715
t0, FieldMemOperand(t0, InterpreterData::kInterpreterTrampolineOffset));
17171716
__ LoadCodeInstructionStart(t0, t0);
17181717
__ Branch(&trampoline_loaded);
@@ -1971,15 +1970,15 @@ void OnStackReplacement(MacroAssembler* masm, OsrSourceTier source,
19711970

19721971
// Load deoptimization data from the code object.
19731972
// <deopt_data> = <code>[#deoptimization_data_offset]
1974-
__ LoadTaggedField(
1973+
__ LoadProtectedPointerField(
19751974
a1, MemOperand(maybe_target_code,
19761975
Code::kDeoptimizationDataOrInterpreterDataOffset -
19771976
kHeapObjectTag));
19781977

19791978
// Load the OSR entrypoint offset from the deoptimization data.
19801979
// <osr_offset> = <deopt_data>[#header_size + #osr_pc_offset]
19811980
__ SmiUntagField(a1,
1982-
MemOperand(a1, FixedArray::OffsetOfElementAt(
1981+
MemOperand(a1, TrustedFixedArray::OffsetOfElementAt(
19831982
DeoptimizationData::kOsrPcOffsetIndex) -
19841983
kHeapObjectTag));
19851984

0 commit comments

Comments
 (0)