- 20 Aug, 2014 1 commit
-
-
Kevin Modzelewski authored
-
- 18 Aug, 2014 4 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Conflicts: src/runtime/objmodel.cpp
-
Travis Hance authored
-
- 17 Aug, 2014 4 commits
-
-
Kevin Modzelewski authored
Even with some optimizations it seems to hurt perf a little bit... we'll have to see if it's worth it. Also, rename "static roots" to "permanent roots", since it's slightly different than the "static allocation" problem we're tackling here.
-
Kevin Modzelewski authored
Add the sha256 and sha512 modules
-
Marius Wachtler authored
Using the C API it's possible to create a Box instance without using our GC alloc. For example have a look at md5module.c: PyDict_SetItemString(d, "MD5Type", (PyObject *)&MD5type);
-
Marius Wachtler authored
Add basic support for C API attr members
-
- 15 Aug, 2014 12 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Works by using stack unwinding to find the most recent frame, and then maps that back to the source information. Soon we're going to need proper frame management (ex, this approach does not work at for the locals() function), when this will be replaced. globals() currently returns a non-dict... we'll see if that's ok.
-
Kevin Modzelewski authored
Need this to track "softspace" correctly...
-
Kevin Modzelewski authored
Before, the default behavior (falling back to __repr__ if __str__ doesn't exist, and giving a default representation if __repr__ doesn't exist) was provided by the repr() and str() functions.
-
Kevin Modzelewski authored
I guess there's actually a real __future__ module that contains information in it about the special features you just enabled! Until this change you would get that information, but not actually enable any features. The right behavior is to raise a SyntaxError for all __future__ directives we don't support (which is all of them). "import __future__" works if you want that... I'm not sure that throwing a SyntaxError from the IRGenerator is safe, since there are things that won't get cleaned up, but I guess it's not that much worse than if it worked; and this SyntaxError will typically kill the program anyway.
-
Kevin Modzelewski authored
(working on getting more of the stdlib to import)
-
Kevin Modzelewski authored
Well not really, it crashes the GC by simply existing, but it's close!
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
ie trying to start running real C modules. The goal has always been to run them without modification and without a proxy layer, and this is the first step. The first issue is conversion between PyObject and our internal representation, "Box" (needs to be renamed). Once they have the same layout, some hacks were needed to make them seem like the same thing, even though we can attach C++ methods on the Box side, but use PyObject in C code. The next major issue was PyTypeObject, since the structure is directly exposed to extensions. I just added the similar fields to BoxedClass, so they can be used interchangeably; the "real" ones are the BoxedClass ones, but we'll migrate them incrementally. There's also the issue that PyTypeObject's are typically created statically, so I added registerStaticRootMemory to the GC interface. Also add in a smattering of other API functions, and the _sha module works (who cares if it's normally disabled). The C API is quite constraining about choices of data structure implementation; it's in direct conflict with the std::string API, for example. For now, close our eyes and let the C API modify the internal bytes of std::string.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 14 Aug, 2014 2 commits
-
-
Kevin Modzelewski authored
Added dict.__new__ accepting list/dict + tests
-
Kevin Modzelewski authored
Fix negative indexing issue.
-
- 12 Aug, 2014 5 commits
-
-
Chris Ramstad authored
Also fixed __getitem__. Previously was using ->[key] which would place a NULL value for the key if the key didn't exist. Subsequent calls could segfault.
-
Chris Ramstad authored
Conflicts: src/runtime/tuple.cpp test/tests/tuples.py
-
Chris Ramstad authored
-
Kevin Modzelewski authored
Some tweaks to better support C (as opposed to C++) compilation. Can now compile extension modules using gcc, in addition to clang as before.
-
Joris Vankerschaver authored
-
- 11 Aug, 2014 5 commits
-
-
-
-
-
Joris Vankerschaver authored
-
Joris Vankerschaver authored
-
- 10 Aug, 2014 2 commits
-
-
Joris Vankerschaver authored
-
Joris Vankerschaver authored
-
- 09 Aug, 2014 2 commits
-
-
Krzysztof Klinikowski authored
-
Chris Ramstad authored
Support added to initialize a tuple using the tuple type class. Allows creation specifying positional or using the keyword argument 'sequence'. Accepts iterables- tested with lists, tuples, sets, dicts and strings
-
- 08 Aug, 2014 1 commit
-
-
Kevin Modzelewski authored
-
- 07 Aug, 2014 1 commit
-
-
Kevin Modzelewski authored
Need to special-case some places in the keyword handling since they previously assumed that they would first have to check if the keyword name matched a positional argument, before putting into the output **kw.
-
- 06 Aug, 2014 1 commit
-
-
Kevin Modzelewski authored
errnomodule.c is extremely simple and doesn't do anything complicated, so this is more of a proof-of-concept for now. The tricky stuff will most likely be around newly-defined types.
-