mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-21 12:00:18 +00:00
...
This commit is contained in:
parent
a1212fbf09
commit
736d66fbae
@ -218,13 +218,13 @@ __NEXT_STEP:;
|
|||||||
DISPATCH();
|
DISPATCH();
|
||||||
TARGET(BUILD_DICT) {
|
TARGET(BUILD_DICT) {
|
||||||
PyObject* t = VAR(STACK_VIEW(byte.arg).to_tuple());
|
PyObject* t = VAR(STACK_VIEW(byte.arg).to_tuple());
|
||||||
PyObject* obj = call_(builtins->attr(m_dict), t);
|
PyObject* obj = call(builtins->attr(m_dict), t);
|
||||||
STACK_SHRINK(byte.arg);
|
STACK_SHRINK(byte.arg);
|
||||||
PUSH(obj);
|
PUSH(obj);
|
||||||
} DISPATCH();
|
} DISPATCH();
|
||||||
TARGET(BUILD_SET) {
|
TARGET(BUILD_SET) {
|
||||||
PyObject* t = VAR(STACK_VIEW(byte.arg).to_tuple());
|
PyObject* t = VAR(STACK_VIEW(byte.arg).to_tuple());
|
||||||
PyObject* obj = call_(builtins->attr(m_set), t);
|
PyObject* obj = call(builtins->attr(m_set), t);
|
||||||
STACK_SHRINK(byte.arg);
|
STACK_SHRINK(byte.arg);
|
||||||
PUSH(obj);
|
PUSH(obj);
|
||||||
} DISPATCH();
|
} DISPATCH();
|
||||||
|
6
src/vm.h
6
src/vm.h
@ -141,7 +141,7 @@ public:
|
|||||||
|
|
||||||
PyObject* asList(PyObject* it){
|
PyObject* asList(PyObject* it){
|
||||||
if(is_non_tagged_type(it, tp_list)) return it;
|
if(is_non_tagged_type(it, tp_list)) return it;
|
||||||
return call_(_t(tp_list), it);
|
return call(_t(tp_list), it);
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject* find_name_in_mro(PyObject* cls, StrName name){
|
PyObject* find_name_in_mro(PyObject* cls, StrName name){
|
||||||
@ -214,7 +214,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
PyObject* call_(PyObject* callable, Args&&... args){
|
PyObject* call(PyObject* callable, Args&&... args){
|
||||||
PUSH(callable);
|
PUSH(callable);
|
||||||
PUSH(_py_null);
|
PUSH(_py_null);
|
||||||
int ARGC = sizeof...(args);
|
int ARGC = sizeof...(args);
|
||||||
@ -240,7 +240,7 @@ public:
|
|||||||
PyObject* property(NativeFuncRaw fget){
|
PyObject* property(NativeFuncRaw fget){
|
||||||
PyObject* p = builtins->attr("property");
|
PyObject* p = builtins->attr("property");
|
||||||
PyObject* method = heap.gcnew(tp_native_func, NativeFunc(fget, 1, false));
|
PyObject* method = heap.gcnew(tp_native_func, NativeFunc(fget, 1, false));
|
||||||
return call_(p, method);
|
return call(p, method);
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject* new_type_object(PyObject* mod, StrName name, Type base){
|
PyObject* new_type_object(PyObject* mod, StrName name, Type base){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user