Lines Matching refs:Pointer

47 bool CheckExtern(InterpState &S, CodePtr OpPC, const Pointer &Ptr);
50 bool CheckArray(InterpState &S, CodePtr OpPC, const Pointer &Ptr);
53 bool CheckLive(InterpState &S, CodePtr OpPC, const Pointer &Ptr,
56 bool CheckNull(InterpState &S, CodePtr OpPC, const Pointer &Ptr,
60 bool CheckRange(InterpState &S, CodePtr OpPC, const Pointer &Ptr,
64 bool CheckRange(InterpState &S, CodePtr OpPC, const Pointer &Ptr,
68 bool CheckConst(InterpState &S, CodePtr OpPC, const Pointer &Ptr);
71 bool CheckMutable(InterpState &S, CodePtr OpPC, const Pointer &Ptr);
74 bool CheckLoad(InterpState &S, CodePtr OpPC, const Pointer &Ptr);
77 bool CheckStore(InterpState &S, CodePtr OpPC, const Pointer &Ptr);
80 bool CheckInvoke(InterpState &S, CodePtr OpPC, const Pointer &Ptr);
83 bool CheckInit(InterpState &S, CodePtr OpPC, const Pointer &Ptr);
89 bool CheckThis(InterpState &S, CodePtr OpPC, const Pointer &This);
176 inline bool CmpHelper<Pointer>(InterpState &S, CodePtr OpPC, CompareFn Fn) {
178 const Pointer &RHS = S.Stk.pop<Pointer>();
179 const Pointer &LHS = S.Stk.pop<Pointer>();
181 if (!Pointer::hasSameBase(LHS, RHS)) {
194 inline bool CmpHelperEQ<Pointer>(InterpState &S, CodePtr OpPC, CompareFn Fn) {
196 const Pointer &RHS = S.Stk.pop<Pointer>();
197 const Pointer &LHS = S.Stk.pop<Pointer>();
204 if (!Pointer::hasSameBase(LHS, RHS)) {
332 const Pointer &Obj = S.Stk.peek<Pointer>();
337 const Pointer &Field = Obj.atField(I);
347 const Pointer &Obj = S.Stk.peek<Pointer>();
352 const Pointer &Field = Obj.atField(I);
361 const Pointer &Obj = S.Stk.pop<Pointer>();
366 const Pointer &Field = Obj.atField(I);
377 const Pointer &This = S.Current->getThis();
380 const Pointer &Field = This.atField(I);
392 const Pointer &This = S.Current->getThis();
395 const Pointer &Field = This.atField(I);
427 const Pointer &This = S.Current->getThis();
430 const Pointer &Field = This.atField(I);
440 const Pointer &This = S.Current->getThis();
443 const Pointer &Field = This.atField(F->Offset);
454 const Pointer &This = S.Current->getThis();
457 const Pointer &Field = This.atField(I);
467 const Pointer &Field = S.Stk.pop<Pointer>().atField(I);
477 const Pointer &Field = S.Stk.pop<Pointer>().atField(F->Offset);
487 const Pointer &Ptr = S.Stk.pop<Pointer>();
488 const Pointer &Field = Ptr.atField(I);
500 S.Stk.push<Pointer>(S.Current->getLocalPointer(I));
508 S.Stk.push<Pointer>(S.Current->getParamPointer(I));
513 S.Stk.push<Pointer>(S.P.getPtrGlobal(I));
518 const Pointer &Ptr = S.Stk.pop<Pointer>();
525 S.Stk.push<Pointer>(Ptr.atField(Off));
532 const Pointer &This = S.Current->getThis();
535 S.Stk.push<Pointer>(This.atField(Off));
540 const Pointer &Ptr = S.Stk.pop<Pointer>();
545 Pointer Field = Ptr.atField(Off);
548 S.Stk.push<Pointer>(std::move(Field));
555 const Pointer &This = S.Current->getThis();
558 Pointer Field = This.atField(Off);
561 S.Stk.push<Pointer>(std::move(Field));
566 const Pointer &Ptr = S.Stk.pop<Pointer>();
569 S.Stk.push<Pointer>(Ptr.atField(Off));
576 const Pointer &This = S.Current->getThis();
579 S.Stk.push<Pointer>(This.atField(Off));
584 const Pointer &Ptr) {
585 Pointer Base = Ptr;
590 S.Stk.push<Pointer>(Base.atField(Field->Offset));
595 const Pointer &Ptr = S.Stk.pop<Pointer>();
605 const Pointer &This = S.Current->getThis();
617 const Pointer &Ptr = S.Stk.peek<Pointer>();
626 const Pointer &Ptr = S.Stk.pop<Pointer>();
636 const Pointer &Ptr = S.Stk.peek<Pointer>();
646 const Pointer &Ptr = S.Stk.pop<Pointer>();
656 const Pointer &Ptr = S.Stk.peek<Pointer>();
670 const Pointer &Ptr = S.Stk.pop<Pointer>();
684 const Pointer &Ptr = S.Stk.pop<Pointer>();
695 const Pointer &Ptr = S.Stk.peek<Pointer>().atIndex(Idx);
706 const Pointer &Ptr = S.Stk.pop<Pointer>().atIndex(Idx);
721 const Pointer &Ptr = S.Stk.pop<Pointer>();
732 S.Stk.push<Pointer>(Index.isZero() ? Ptr.atIndex(0) : Ptr);
772 S.Stk.push<Pointer>(Ptr.atIndex(static_cast<unsigned>(Result)));
833 const Pointer &This = S.Current->getThis();
837 S.Stk.push<Pointer>(This);
940 const Pointer &Ptr = S.Stk.pop<Pointer>();
941 S.Stk.push<Pointer>(Ptr.narrow());
946 const Pointer &Ptr = S.Stk.pop<Pointer>();
947 S.Stk.push<Pointer>(Ptr.expand());