[DEV] remote _userpointer()

This commit is contained in:
Edouard DUPIN 2018-07-03 22:07:59 +02:00
parent a374a839ce
commit e23132b712
3 changed files with 4 additions and 5 deletions

View File

@ -149,7 +149,6 @@ namespace rabbit {
#define is_delegable(t) (sq_type(t)&SQOBJECT_DELEGABLE) #define is_delegable(t) (sq_type(t)&SQOBJECT_DELEGABLE)
#define raw_type(obj) _RAW_TYPE((obj)._type) #define raw_type(obj) _RAW_TYPE((obj)._type)
#define _userpointer(obj) ((obj)._unVal.pUserPointer)
#define _thread(obj) ((obj)._unVal.pThread) #define _thread(obj) ((obj)._unVal.pThread)
#define _funcproto(obj) ((obj)._unVal.pFunctionProto) #define _funcproto(obj) ((obj)._unVal.pFunctionProto)
#define _class(obj) ((obj)._unVal.pClass) #define _class(obj) ((obj)._unVal.pClass)

View File

@ -255,7 +255,7 @@ bool rabbit::VirtualMachine::objCmp(const rabbit::ObjectPtr &o1,const rabbit::Ob
} }
//continues through (no break needed) //continues through (no break needed)
default: default:
_RET_SUCCEED( _userpointer(o1) < _userpointer(o2)?-1:1 ); _RET_SUCCEED( o1.getUserPointer() < o2.getUserPointer()?-1:1 );
} }
assert(0); assert(0);
//if(type(res)!=rabbit::OT_INTEGER) { raise_Compareerror(o1,o2); return false; } //if(type(res)!=rabbit::OT_INTEGER) { raise_Compareerror(o1,o2); return false; }
@ -1796,7 +1796,7 @@ void rabbit::VirtualMachine::dumpstack(int64_t stackbase,bool dumpall)
case rabbit::OT_USERDATA: printf("USERDATA %p[%p]",_userdataval(obj),obj.toUserData()->_delegate);break; case rabbit::OT_USERDATA: printf("USERDATA %p[%p]",_userdataval(obj),obj.toUserData()->_delegate);break;
case rabbit::OT_GENERATOR: printf("GENERATOR %p",obj.toGenerator());break; case rabbit::OT_GENERATOR: printf("GENERATOR %p",obj.toGenerator());break;
case rabbit::OT_THREAD: printf("THREAD [%p]",_thread(obj));break; case rabbit::OT_THREAD: printf("THREAD [%p]",_thread(obj));break;
case rabbit::OT_USERPOINTER: printf("USERPOINTER %p",_userpointer(obj));break; case rabbit::OT_USERPOINTER: printf("USERPOINTER %p",obj.getUserPointer());break;
case rabbit::OT_CLASS: printf("CLASS %p",_class(obj));break; case rabbit::OT_CLASS: printf("CLASS %p",_class(obj));break;
case rabbit::OT_INSTANCE: printf("INSTANCE %p",_instance(obj));break; case rabbit::OT_INSTANCE: printf("INSTANCE %p",_instance(obj));break;
case rabbit::OT_WEAKREF: printf("WEAKERF %p",_weakref(obj));break; case rabbit::OT_WEAKREF: printf("WEAKERF %p",_weakref(obj));break;

View File

@ -229,7 +229,7 @@ rabbit::Bool rabbit::sq_objtobool(const rabbit::Object *o)
rabbit::UserPointer rabbit::sq_objtouserpointer(const rabbit::Object *o) rabbit::UserPointer rabbit::sq_objtouserpointer(const rabbit::Object *o)
{ {
if(sq_isuserpointer(*o)) { if(sq_isuserpointer(*o)) {
return _userpointer(*o); return o->getUserPointer();
} }
return 0; return 0;
} }
@ -804,7 +804,7 @@ rabbit::Result rabbit::sq_getuserpointer(rabbit::VirtualMachine* v, int64_t idx,
{ {
rabbit::ObjectPtr *o = NULL; rabbit::ObjectPtr *o = NULL;
_GETSAFE_OBJ(v, idx, rabbit::OT_USERPOINTER,o); _GETSAFE_OBJ(v, idx, rabbit::OT_USERPOINTER,o);
(*p) = _userpointer(*o); (*p) = o->getUserPointer();
return SQ_OK; return SQ_OK;
} }