diff --git a/src/common/scripting/jit/jit_call.cpp b/src/common/scripting/jit/jit_call.cpp index 923b3c55f16..a924124100b 100644 --- a/src/common/scripting/jit/jit_call.cpp +++ b/src/common/scripting/jit/jit_call.cpp @@ -37,9 +37,9 @@ void JitCompiler::EmitVtbl(const VMOP *op) cc.SetInsertPoint(continuebb); IRValue* ptrObject = LoadA(b); - IRValue* ptrClass = Load(ToInt8PtrPtr(ptrObject, ConstValueD(myoffsetof(DObject, Class)))); - IRValue* ptrArray = Load(ToInt8PtrPtr(ptrClass, ConstValueD(myoffsetof(PClass, Virtuals) + myoffsetof(FArray, Array)))); - IRValue* ptrFunc = Load(ToInt8PtrPtr(ptrArray, ConstValueD(c * (int)sizeof(void*)))); + IRValue* ptrClass = Load(ToInt8PtrPtr(ptrObject, myoffsetof(DObject, Class))); + IRValue* ptrArray = Load(ToInt8PtrPtr(ptrClass, myoffsetof(PClass, Virtuals) + myoffsetof(FArray, Array))); + IRValue* ptrFunc = Load(ToInt8PtrPtr(ptrArray, c * (int)sizeof(void*))); StoreA(ptrFunc, a); } diff --git a/src/common/scripting/jit/jit_load.cpp b/src/common/scripting/jit/jit_load.cpp index 18cf3043254..33b5923426f 100644 --- a/src/common/scripting/jit/jit_load.cpp +++ b/src/common/scripting/jit/jit_load.cpp @@ -222,13 +222,13 @@ void JitCompiler::EmitLO_R() void JitCompiler::EmitLO() { EmitNullPointerThrow(B, X_READ_NIL); - StoreA(cc.CreateCall(readBarrier, { OffsetPtr(LoadA(B), ConstD(C)) }), A); + StoreA(cc.CreateCall(readBarrier, { Load(ToInt8PtrPtr(LoadA(B), ConstD(C))) }), A); } void JitCompiler::EmitLO_R() { EmitNullPointerThrow(B, X_READ_NIL); - StoreA(cc.CreateCall(readBarrier, { OffsetPtr(LoadA(B), LoadD(C)) }), A); + StoreA(cc.CreateCall(readBarrier, { Load(ToInt8PtrPtr(LoadA(B), LoadD(C))) }), A); } #endif @@ -236,13 +236,13 @@ void JitCompiler::EmitLO_R() void JitCompiler::EmitLP() { EmitNullPointerThrow(B, X_READ_NIL); - StoreA(OffsetPtr(LoadA(B), ConstD(C)), A); + StoreA(Load(ToInt8PtrPtr(LoadA(B), ConstD(C))), A); } void JitCompiler::EmitLP_R() { EmitNullPointerThrow(B, X_READ_NIL); - StoreA(OffsetPtr(LoadA(B), LoadD(C)), A); + StoreA(Load(ToInt8PtrPtr(LoadA(B), LoadD(C))), A); } void JitCompiler::EmitLV2()