Damien George
56606f3475
py: Implement delete for property and descriptors.
...
Without this patch deleting a property, or class with descriptor, will
call the setter with a NULL value and lead to a crash.
2015-04-04 20:15:31 +01:00
Damien George
0528c5a22a
py: In str unicode, str_subscr will never be passed a bytes object.
2015-04-04 19:42:03 +01:00
Damien George
2801e6fad8
py: Some trivial cosmetic changes, for code style consistency.
2015-04-04 15:53:11 +01:00
Paul Sokolovsky
7f59b4b2ca
objstr: Fix bugs introduced by inability to have shadow variables.
...
Warnings lead to programming errors - as expected.
2015-04-04 01:55:40 +03:00
Paul Sokolovsky
acf6aec71c
objstr: Avoid variable shadowing.
2015-04-04 01:24:59 +03:00
Paul Sokolovsky
ac2f7a7f6a
objstr: Add .splitlines() method.
...
splitlines() occurs ~179 times in CPython3 standard library, so was
deemed worthy to implement. The method has subtle semantic differences
from just .split("\n"). It is also defined as working for any end-of-line
combination, but this is currently not implemented - it works only with
LF line-endings (which should be OK for text strings on any platforms,
but not OK for bytes).
2015-04-04 00:09:48 +03:00
Damien George
fa5950eb00
py: Fix bug in native emitter when closing over an argument.
2015-04-03 15:03:24 +00:00
Damien George
99957384ea
py: Get native emitter working again with x86 (now supports closures).
2015-04-03 14:38:41 +00:00
Damien George
4cd9ced8dc
py: Implement closures in native code generator.
...
Currently supports only x64 and Thumb2 archs.
2015-04-03 15:05:53 +01:00
Damien George
2cc5473021
py: Implement (non-compliant) support for delete_fast in native emitter.
...
This implementation is smaller (in code size) than #1024 .
2015-04-03 14:29:30 +01:00
Damien George
12ab9eda8d
py: Make heap printing compatible with 16-bit word size.
2015-04-03 14:11:13 +01:00
Damien George
3f327cc4c6
py: Allow MPZ_DIG_SIZE to be optionally configured by a port.
2015-04-03 14:11:13 +01:00
Damien George
567184e21e
py: Allow configurable object representation, with 2 different options.
2015-04-03 14:11:13 +01:00
Damien George
12a5e17afb
py: Add finer configuration of static funcs when not in stackless mode.
...
Also rename call_args_t to mp_call_args_t.
2015-04-02 22:56:58 +01:00
Paul Sokolovsky
7f1c98177b
vm: Support strict stackless mode, with proper exception reporting.
...
I.e. in this mode, C stack will never be used to call a Python function,
but if there's no free heap for a call, it will be reported as
RuntimeError (as expected), not MemoryError.
2015-04-03 00:26:47 +03:00
Paul Sokolovsky
f0a8f21190
vm: Implement stackless for CALL_FUNCTION_VAR_KW & CALL_METHOD_VAR_KW.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
e6c6fe3275
runtime: Split mp_call_prepare_args_n_kw_var() from mp_call_method_n_kw_var().
...
Allow for reuse for stackless design, where preparing args is separate from
calling.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
390e92688c
vm: Stackless support for MP_BC_CALL_METHOD.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
332a909d44
vm: If there's no heap to call function in stackless manner, call via C stack.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
2039757b85
vm: Initial support for calling bytecode functions w/o C stack ("stackless").
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
f88eec0de2
makeqstrdata.py: Add support for strings with backslash escapes.
2015-04-02 01:10:11 +03:00
Damien George
2686f9b3e8
py: Fix emitnative's creation of small ints so it uses the macro.
2015-04-01 00:12:43 +01:00
Paul Sokolovsky
1bc534247c
objtype: Add special unary methods __pos__, __neg__, __invert__.
...
Conditional on MICROPY_PY_ALL_SPECIAL_METHODS.
2015-03-31 01:05:03 +03:00
Paul Sokolovsky
fdaac1dbf8
modbuiltins: round(): Accept second arg, and at least support it to be 0.
...
Per https://docs.python.org/3/library/functions.html#round , 2-args format
guaranteedly returns float.
2015-03-31 01:02:44 +03:00
stijn
28fa84b445
py: Add optional support for descriptors' __get__ and __set__ methods.
...
Disabled by default. Enabled on unix and windows ports.
2015-03-26 23:55:14 +00:00