undo unnecessary changes

This commit is contained in:
S. Mahmudul Hasan 2023-10-19 23:06:26 -04:00
parent 2226767319
commit a5a18154f4
2 changed files with 44 additions and 55 deletions

View File

@ -4,11 +4,9 @@
#include "common.h" #include "common.h"
#include "frame.h" #include "frame.h"
namespace pkpy namespace pkpy{
{
struct RangeIter struct RangeIter{
{
PY_CLASS(RangeIter, builtins, "_range_iterator") PY_CLASS(RangeIter, builtins, "_range_iterator")
Range r; Range r;
i64 current; i64 current;
@ -17,8 +15,7 @@ namespace pkpy
static void _register(VM* vm, PyObject* mod, PyObject* type); static void _register(VM* vm, PyObject* mod, PyObject* type);
}; };
struct ArrayIter struct ArrayIter{
{
PY_CLASS(ArrayIter, builtins, "_array_iterator") PY_CLASS(ArrayIter, builtins, "_array_iterator")
PyObject* ref; PyObject* ref;
PyObject** begin; PyObject** begin;
@ -32,8 +29,7 @@ namespace pkpy
static void _register(VM* vm, PyObject* mod, PyObject* type); static void _register(VM* vm, PyObject* mod, PyObject* type);
}; };
struct StringIter struct StringIter{
{
PY_CLASS(StringIter, builtins, "_string_iterator") PY_CLASS(StringIter, builtins, "_string_iterator")
PyObject* ref; PyObject* ref;
Str* str; Str* str;
@ -46,24 +42,19 @@ namespace pkpy
static void _register(VM* vm, PyObject* mod, PyObject* type); static void _register(VM* vm, PyObject* mod, PyObject* type);
}; };
struct Generator struct Generator{
{
PY_CLASS(Generator, builtins, "generator") PY_CLASS(Generator, builtins, "generator")
Frame frame; Frame frame;
int state; // 0,1,2 int state; // 0,1,2
List s_backup; List s_backup;
Generator(Frame &&frame, ArgsView buffer) : frame(std::move(frame)), state(0) Generator(Frame&& frame, ArgsView buffer): frame(std::move(frame)), state(0) {
{ for(PyObject* obj: buffer) s_backup.push_back(obj);
for (PyObject *obj : buffer)
s_backup.push_back(obj);
} }
void _gc_mark() const void _gc_mark() const{
{
frame._gc_mark(); frame._gc_mark();
for (PyObject *obj : s_backup) for(PyObject* obj: s_backup) PK_OBJ_MARK(obj);
PK_OBJ_MARK(obj);
} }
PyObject* next(VM* vm); PyObject* next(VM* vm);

View File

@ -7,14 +7,13 @@
#include "base64.h" #include "base64.h"
#include "cffi.h" #include "cffi.h"
#include "linalg.h" #include "linalg.h"
#include "collections.h"
#include "easing.h" #include "easing.h"
#include "io.h" #include "io.h"
#include "vm.h" #include "vm.h"
#include "re.h" #include "re.h"
#include "random.h" #include "random.h"
#include "bindings.h" #include "bindings.h"
#include "collections.h"
namespace pkpy { namespace pkpy {
@ -29,5 +28,4 @@ void add_module_math(VM* vm);
void add_module_dis(VM* vm); void add_module_dis(VM* vm);
void add_module_traceback(VM* vm); void add_module_traceback(VM* vm);
void add_module_gc(VM* vm); void add_module_gc(VM* vm);
} // namespace pkpy } // namespace pkpy