diff --git a/extmod/extmod.mk b/extmod/extmod.mk index 9a65a7a91a..3f66b5f6d3 100644 --- a/extmod/extmod.mk +++ b/extmod/extmod.mk @@ -1,7 +1,7 @@ # This makefile fragment adds the source code files for the core extmod modules # and provides rules to build 3rd-party components for extmod modules. -# CIRCUITPY has removed many extmod modules. +# CIRCUITPY-CHANGE: many extmod modules removed SRC_EXTMOD_C += \ extmod/modasyncio.c \ extmod/modbinascii.c \ diff --git a/extmod/modasyncio.c b/extmod/modasyncio.c index 96b7c5b0a0..eb7fe2e734 100644 --- a/extmod/modasyncio.c +++ b/extmod/modasyncio.c @@ -228,7 +228,7 @@ STATIC mp_obj_t task_cancel(mp_obj_t self_in) { } STATIC MP_DEFINE_CONST_FUN_OBJ_1(task_cancel_obj, task_cancel); -// CIRCUITPY provides __await__(). +// CIRCUITPY-CHANGE: CircuitPython provides __await__(). STATIC mp_obj_t task_getiter(mp_obj_t self_in, mp_obj_iter_buf_t *iter_buf); STATIC mp_obj_t task_await(mp_obj_t self_in) { diff --git a/extmod/modbinascii.c b/extmod/modbinascii.c index 86183cd96b..4036a3dcda 100644 --- a/extmod/modbinascii.c +++ b/extmod/modbinascii.c @@ -127,7 +127,7 @@ STATIC mp_obj_t mod_binascii_b2a_base64(size_t n_args, const mp_obj_t *pos_args, mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); uint8_t newline = args[ARG_newline].u_bool; - // CIRCUITPY + // CIRCUITPY-CHANGE check_not_unicode(pos_args[0]); mp_buffer_info_t bufinfo; mp_get_buffer_raise(pos_args[0], &bufinfo, MP_BUFFER_READ); @@ -182,7 +182,7 @@ STATIC mp_obj_t mod_binascii_b2a_base64(size_t n_args, const mp_obj_t *pos_args, } STATIC MP_DEFINE_CONST_FUN_OBJ_KW(mod_binascii_b2a_base64_obj, 1, mod_binascii_b2a_base64); -// CIRCUITPY uses a self-contained implementation of CRC32, +// CIRCUITPY-CHANGE: uses a self-contained implementation of CRC32, // instead of depending on uzlib, like MicroPython. /* @@ -223,7 +223,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(mod_binascii_b2a_base64_obj, 1, mod_binascii_b STATIC mp_obj_t mod_binascii_crc32(size_t n_args, const mp_obj_t *args) { mp_buffer_info_t bufinfo; - // CIRCUITPY + // CIRCUITPY-CHANGE check_not_unicode(args[0]); mp_get_buffer_raise(args[0], &bufinfo, MP_BUFFER_READ); uint32_t crc = (n_args > 1) ? mp_obj_get_int_truncated(args[1]) : 0; diff --git a/extmod/modjson.c b/extmod/modjson.c index c39ffaf5fb..d5ab2744b2 100644 --- a/extmod/modjson.c +++ b/extmod/modjson.c @@ -130,7 +130,7 @@ typedef struct _json_stream_t { mp_obj_t stream_obj; mp_uint_t (*read)(mp_obj_t obj, void *buf, mp_uint_t size, int *errcode); int errcode; - // CIRCUITPY + // CIRCUITPY-CHANGE mp_obj_t python_readinto[2 + 1]; mp_obj_array_t bytearray_obj; size_t start; @@ -154,7 +154,7 @@ STATIC byte json_stream_next(json_stream_t *s) { return s->cur; } -// CIRCUITPY +// CIRCUITPY-CHANGE // We read from an object's `readinto` method in chunks larger than the json // parser needs to reduce the number of function calls done. @@ -398,7 +398,7 @@ STATIC mp_obj_t _mod_json_load(mp_obj_t stream_obj, bool return_first_json) { } } success: - // CIRCUITPY + // CIRCUITPY-CHANGE // It is legal for a stream to have contents after JSON. // E.g., A UART is not closed after receiving an object; in load() we will diff --git a/extmod/modre.c b/extmod/modre.c index 0c4e001acc..3327cd75b1 100644 --- a/extmod/modre.c +++ b/extmod/modre.c @@ -206,7 +206,7 @@ STATIC mp_obj_t re_exec(bool is_anchored, uint n_args, const mp_obj_t *args) { size_t len; subj.begin_line = subj.begin = mp_obj_str_get_data(args[1], &len); subj.end = subj.begin + len; - // CIRCUITPY + // CIRCUITPY-CHANGE #if MICROPY_PY_RE_MATCH_SPAN_START_END && !(defined(MICROPY_ENABLE_DYNRUNTIME) && MICROPY_ENABLE_DYNRUNTIME) if (n_args > 2) { diff --git a/extmod/modselect.c b/extmod/modselect.c index f1169c5cd6..8beb21995a 100644 --- a/extmod/modselect.c +++ b/extmod/modselect.c @@ -367,7 +367,7 @@ STATIC mp_uint_t poll_set_poll_until_ready_or_timeout(poll_set_t *poll_set, size if (n_ready > 0 || (timeout != (mp_uint_t)-1 && mp_hal_ticks_ms() - start_ticks >= timeout)) { return n_ready; } - // CIRCUITPY + // CIRCUITPY-CHANGE RUN_BACKGROUND_TASKS; if (mp_hal_is_interrupted()) { return 0; @@ -425,7 +425,7 @@ STATIC mp_obj_t select_select(size_t n_args, const mp_obj_t *args) { if (!mp_map_slot_is_filled(&poll_set.map, i)) { continue; } - // CIRCUITPY + // CIRCUITPY-CHANGE RUN_BACKGROUND_TASKS; poll_obj_t *poll_obj = MP_OBJ_TO_PTR(poll_set.map.table[i].value); diff --git a/extmod/vfs.c b/extmod/vfs.c index 125370b588..f7973b6cc5 100644 --- a/extmod/vfs.c +++ b/extmod/vfs.c @@ -365,7 +365,7 @@ mp_obj_t mp_vfs_getcwd(void) { } MP_DEFINE_CONST_FUN_OBJ_0(mp_vfs_getcwd_obj, mp_vfs_getcwd); -// CIRCUITPY: accessible from shared-module/os/__init__.c +// CIRCUITPY-CHANGE: accessible from shared-module/os/__init__.c mp_obj_t mp_vfs_ilistdir_it_iternext(mp_obj_t self_in) { mp_vfs_ilistdir_it_t *self = MP_OBJ_TO_PTR(self_in); if (self->is_iter) { diff --git a/extmod/vfs_fat_file.c b/extmod/vfs_fat_file.c index 91c6bb8501..b9c89c46f3 100644 --- a/extmod/vfs_fat_file.c +++ b/extmod/vfs_fat_file.c @@ -257,7 +257,7 @@ STATIC mp_obj_t fat_vfs_open(mp_obj_t self_in, mp_obj_t path_in, mp_obj_t mode_i m_del_obj(pyb_file_obj_t, o); mp_raise_OSError_errno_str(fresult_to_errno_table[res], path_in); } - // CIRCUITPY does fast seek. + // CIRCUITPY-CHANGE: does fast seek. // If we're reading, turn on fast seek. if (mode == FA_READ) { // One call to determine how much space we need. diff --git a/lib/re1.5/compilecode.c b/lib/re1.5/compilecode.c index 081c57441e..63ae1e02b8 100644 --- a/lib/re1.5/compilecode.c +++ b/lib/re1.5/compilecode.c @@ -254,7 +254,7 @@ int re1_5_compilecode(ByteProg *prog, const char *re) return 0; } -// CIRCUITPY debug as main program +// CIRCUITPY-CHANGE: debug as main program #if defined(DEBUG_COMPILECODE) #include void re1_5_fatal(char *x) { diff --git a/ports/unix/Makefile b/ports/unix/Makefile index a44df0c731..3775a3561b 100644 --- a/ports/unix/Makefile +++ b/ports/unix/Makefile @@ -262,13 +262,13 @@ include $(TOP)/py/mkrules.mk .PHONY: test test_full -# CIRCUITPY: these two targets are ours +# CIRCUITPY-CHANGE: these two targets are for CircuitPython builds .PHONY: print-failures clean-failures print-failures clean-failures: ../../tests/run-tests.py --$@ -# CIRCUITPY: support for passing args to run-tests, like `make test TEST_ARGS="basics/*.py"` +# CIRCUITPY-CHANGE: support for passing args to run-tests, like `make test TEST_ARGS="basics/*.py"` TEST_ARGS ?= test: $(BUILD)/$(PROG) $(TOP)/tests/run-tests.py $(eval DIRNAME=ports/$(notdir $(CURDIR))) diff --git a/ports/unix/modos.c b/ports/unix/modos.c index 00c8c79c5e..d0138edc7a 100644 --- a/ports/unix/modos.c +++ b/ports/unix/modos.c @@ -59,7 +59,7 @@ STATIC mp_obj_t mp_os_getenv(size_t n_args, const mp_obj_t *args) { } MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mp_os_getenv_obj, 1, 2, mp_os_getenv); -// CIRCUITPY getenv differences +// CIRCUITPY-CHANGE: getenv differences #if defined(MICROPY_UNIX_COVERAGE) STATIC mp_obj_t mp_os_getenv_int(mp_obj_t var_in) { mp_int_t value; diff --git a/ports/unix/mpconfigport.h b/ports/unix/mpconfigport.h index e24d869e03..b3630153cb 100644 --- a/ports/unix/mpconfigport.h +++ b/ports/unix/mpconfigport.h @@ -37,7 +37,7 @@ // Variant-specific definitions. #include "mpconfigvariant.h" -// CIRCUITPY +// CIRCUITPY-CHANGE #define CIRCUITPY_MICROPYTHON_ADVANCED (1) #define MICROPY_PY_ASYNC_AWAIT (1) @@ -254,4 +254,5 @@ static inline unsigned long mp_random_seed_init(void) { #define MICROPY_PY_BLUETOOTH_ENABLE_L2CAP_CHANNELS (MICROPY_BLUETOOTH_NIMBLE) #endif -#define RUN_BACKGROUND_TASKS ((void)0) // CIRCUITPY +// CIRCUITPY-CHANGE +#define RUN_BACKGROUND_TASKS ((void)0) diff --git a/ports/unix/mpconfigport.mk b/ports/unix/mpconfigport.mk index d278f14123..3defad8aba 100644 --- a/ports/unix/mpconfigport.mk +++ b/ports/unix/mpconfigport.mk @@ -8,7 +8,7 @@ MICROPY_FORCE_32BIT = 0 # 1 - use MicroPython version of readline MICROPY_USE_READLINE = 1 -# CIRCUITPY: not present +# CIRCUITPY-CHANGE: not present # btree module using Berkeley DB 1.xx MICROPY_PY_BTREE = 0 @@ -18,14 +18,14 @@ MICROPY_PY_THREAD = 1 # Subset of CPython termios module MICROPY_PY_TERMIOS = 1 -# CIRCUITPY: not present +# CIRCUITPY-CHANGE: not present # Subset of CPython socket module MICROPY_PY_SOCKET = 0 # ffi module requires libffi (libffi-dev Debian package) MICROPY_PY_FFI = 1 -# CIRCUITPY: not present +# CIRCUITPY-CHANGE: not present # ssl module requires one of the TLS libraries below MICROPY_PY_SSL = 0 # axTLS has minimal size but implements only a subset of modern TLS @@ -33,7 +33,7 @@ MICROPY_PY_SSL = 0 MICROPY_SSL_AXTLS = 0 # mbedTLS is more up to date and complete implementation, but also # more bloated. -# CIRCUITPY: not present +# CIRCUITPY-CHANGE: not present MICROPY_SSL_MBEDTLS = 0 # jni module requires JVM/JNI @@ -43,15 +43,15 @@ MICROPY_PY_JNI = 0 # as submodules (currently affects only libffi). MICROPY_STANDALONE = 0 -# CIRCUITPY: not used +# CIRCUITPY-CHANGE: not used MICROPY_ROM_TEXT_COMPRESSION = 0 MICROPY_VFS_FAT = 1 -# CIRCUITPY: not used +# CIRCUITPY-CHANGE: not used MICROPY_VFS_LFS1 = 0 MICROPY_VFS_LFS2 = 0 -# CIRCUITPY +# CIRCUITPY-CHANGE CIRCUITPY_ULAB = 1 MICROPY_EMIT_NATIVE = 0 CFLAGS += -DCIRCUITPY=1 diff --git a/ports/unix/unix_mphal.c b/ports/unix/unix_mphal.c index 4626c2f0c0..3682575e19 100644 --- a/ports/unix/unix_mphal.c +++ b/ports/unix/unix_mphal.c @@ -95,7 +95,7 @@ void mp_hal_set_interrupt_char(char c) { } } -// CIRCUITPY +// CIRCUITPY-CHANGE bool mp_hal_is_interrupted(void) { return false; } @@ -192,7 +192,7 @@ main_term:; void mp_hal_stdout_tx_strn(const char *str, size_t len) { ssize_t ret; MP_HAL_RETRY_SYSCALL(ret, write(STDOUT_FILENO, str, len), {}); - // CIRCUITPY: need to conditionalize MICROPY_PY_OS_DUPTERM + // CIRCUITPY-CHANGE: need to conditionalize MICROPY_PY_OS_DUPTERM #if MICROPY_PY_OS_DUPTERM mp_os_dupterm_tx_strn(str, len); #endif diff --git a/ports/unix/variants/coverage/mpconfigvariant.h b/ports/unix/variants/coverage/mpconfigvariant.h index 5d0bfaf058..1090f2d7e0 100644 --- a/ports/unix/variants/coverage/mpconfigvariant.h +++ b/ports/unix/variants/coverage/mpconfigvariant.h @@ -42,7 +42,7 @@ #define MICROPY_TRACKED_ALLOC (1) #define MICROPY_WARNINGS_CATEGORY (1) -// CIRCUITPY Disable things never used in circuitpython +// CIRCUITPY-CHANGE: Disable things never used in circuitpython #define MICROPY_PY_CRYPTOLIB (0) #define MICROPY_PY_CRYPTOLIB_CTR (0) #define MICROPY_PY_STRUCT (0) // uses shared-bindings struct diff --git a/py/binary.c b/py/binary.c index 6d2075f3b4..3157f7fe0b 100644 --- a/py/binary.c +++ b/py/binary.c @@ -215,7 +215,7 @@ long long mp_binary_get_int(size_t size, bool is_signed, bool big_endian, const val = -1; } for (uint i = 0; i < size; i++) { - // CIRCUITPY fix for undefined behavior on left shift + // CIRCUITPY-CHANGE: fix for undefined behavior on left shift val *= 256; val |= *src; src += delta; diff --git a/py/builtinimport.c b/py/builtinimport.c index e2dcc3a0b1..9bc8b2b107 100644 --- a/py/builtinimport.c +++ b/py/builtinimport.c @@ -31,7 +31,7 @@ #include #include "py/compile.h" -// CIRCUITPY: for gc_collect() after each import +// CIRCUITPY-CHANGE: for gc_collect() after each import #include "py/gc.h" #include "py/objmodule.h" #include "py/persistentcode.h" @@ -511,7 +511,7 @@ STATIC mp_obj_t process_import_at_level(qstr full_mod_name, qstr level_mod_name, // a __path__ attribute, and not attempt to stat it. } - // CIRCUITPY + // CIRCUITPY-CHANGE // Loading a module thrashes the heap significantly so we explicitly clean up // afterwards. gc_collect(); diff --git a/py/emitinlinethumb.c b/py/emitinlinethumb.c index 3a5dd1a2a4..8f9f6a1bd6 100644 --- a/py/emitinlinethumb.c +++ b/py/emitinlinethumb.c @@ -74,7 +74,7 @@ static inline bool emit_inline_thumb_allow_float(emit_inline_asm_t *emit) { #endif -// CIRCUITPY +// CIRCUITPY-CHANGE STATIC void emit_inline_thumb_error_msg(emit_inline_asm_t *emit, const compressed_string_t *msg) { *emit->error_slot = mp_obj_new_exception_msg(&mp_type_SyntaxError, msg); } diff --git a/py/emitinlinextensa.c b/py/emitinlinextensa.c index 45ffceb450..eddc6bf9f9 100644 --- a/py/emitinlinextensa.c +++ b/py/emitinlinextensa.c @@ -43,7 +43,7 @@ struct _emit_inline_asm_t { qstr *label_lookup; }; -// CIRCUITPY +// CIRCUITPY-CHANGE STATIC void emit_inline_xtensa_error_msg(emit_inline_asm_t *emit, const compressed_string_t *msg) { *emit->error_slot = mp_obj_new_exception_msg(&mp_type_SyntaxError, msg); } diff --git a/py/emitnative.c b/py/emitnative.c index 5ec675a939..e757e01fad 100644 --- a/py/emitnative.c +++ b/py/emitnative.c @@ -58,7 +58,7 @@ #define DEBUG_printf(...) (void)0 #endif -// CIRCUITPY: force definitions +// CIRCUITPY-CHANGE: force definitions #ifndef N_X64 #define N_X64 (0) #endif diff --git a/py/gc.c b/py/gc.c index 1fb0dd2ec7..0b528da5b8 100644 --- a/py/gc.c +++ b/py/gc.c @@ -36,7 +36,7 @@ #include #endif -// CIRCUITPY +// CIRCUITPY-CHANGE #include "supervisor/shared/safe_mode.h" #if CIRCUITPY_MEMORYMONITOR @@ -53,7 +53,7 @@ #define DEBUG_printf(...) (void)0 #endif -// CIRCUITPY +// CIRCUITPY-CHANGE // Uncomment this if you want to use a debugger to capture state at every allocation and free. // #define LOG_HEAP_ACTIVITY 1 @@ -131,7 +131,7 @@ #define GC_EXIT() #endif -// CIRCUITPY +// CIRCUITPY-CHANGE #ifdef LOG_HEAP_ACTIVITY volatile uint32_t change_me; #pragma GCC push_options @@ -338,7 +338,7 @@ STATIC bool gc_try_add_heap(size_t failed_alloc) { #endif -// CIRCUITPY +// CIRCUITPY-CHANGE // TODO FOR MERGE: fix this for multiple areas?? void gc_deinit(void) { // Run any finalisers before we stop using the heap. @@ -381,7 +381,7 @@ STATIC inline mp_state_mem_area_t *gc_get_ptr_area(const void *ptr) { } #endif -// CIRCUITPY: VERIFY_PTR moved to gc.h to make it available elsewhere. +// CIRCUITPY-CHANGE: VERIFY_PTR moved to gc.h to make it available elsewhere. #ifndef TRACE_MARK #if DEBUG_PRINT @@ -395,7 +395,7 @@ STATIC inline mp_state_mem_area_t *gc_get_ptr_area(const void *ptr) { // children: mark the unmarked child blocks and put those newly marked // blocks on the stack. When all children have been checked, pop off the // topmost block on the stack and repeat with that one. -// CIRCUITPY: We don't instrument these functions because they occur a lot during GC and +// CIRCUITPY-CHANGE: We don't instrument these functions because they occur a lot during GC and #if MICROPY_GC_SPLIT_HEAP STATIC void MP_NO_INSTRUMENT PLACE_IN_ITCM(gc_mark_subtree)(mp_state_mem_area_t * area, size_t block) #else @@ -599,7 +599,7 @@ void gc_collect_start(void) { #endif } -// CIRCUITPY +// CIRCUITPY-CHANGE void gc_collect_ptr(void *ptr) { void *ptrs[1] = { ptr }; gc_collect_root(ptrs, 1); @@ -611,7 +611,7 @@ void gc_collect_ptr(void *ptr) { #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) __attribute__((no_sanitize_address)) #endif -// CIRCUITPY +// CIRCUITPY-CHANGE static void *MP_NO_INSTRUMENT PLACE_IN_ITCM(gc_get_ptr)(void **ptrs, int i) { #if MICROPY_DEBUG_VALGRIND if (!VALGRIND_CHECK_MEM_IS_ADDRESSABLE(&ptrs[i], sizeof(*ptrs))) { @@ -744,7 +744,7 @@ void gc_info(gc_info_t *info) { GC_EXIT(); } -// CIRCUITPY +// CIRCUITPY-CHANGE bool gc_alloc_possible(void) { #if MICROPY_GC_SPLIT_HEAP return MP_STATE_MEM(gc_last_free_area) != 0; @@ -797,7 +797,7 @@ void *gc_alloc(size_t n_bytes, unsigned int alloc_flags) { area = &MP_STATE_MEM(area); #endif - // CIRCUITPY + // CIRCUITPY-CHANGE if (area == 0) { reset_into_safe_mode(SAFE_MODE_GC_ALLOC_OUTSIDE_VM); } @@ -861,7 +861,7 @@ found: area->gc_last_free_atb_index = (i + 1) / BLOCKS_PER_ATB; } - // CIRCUITPY + // CIRCUITPY-CHANGE #ifdef LOG_HEAP_ACTIVITY gc_log_change(start_block, end_block - start_block + 1); #endif @@ -958,7 +958,7 @@ void gc_free(void *ptr) { mp_state_mem_area_t *area; #if MICROPY_GC_SPLIT_HEAP area = gc_get_ptr_area(ptr); - // CIRCUITPY extra checking + // CIRCUITPY-CHANGE: extra checking if (MP_STATE_MEM(gc_pool_start) == 0) { reset_into_safe_mode(SAFE_MODE_GC_ALLOC_OUTSIDE_VM); } @@ -995,7 +995,7 @@ void gc_free(void *ptr) { area->gc_last_free_atb_index = block / BLOCKS_PER_ATB; } - // CIRCUITPY + // CIRCUITPY-CHANGE #ifdef LOG_HEAP_ACTIVITY gc_log_change(start_block, 0); #endif @@ -1166,7 +1166,7 @@ void *gc_realloc(void *ptr_in, size_t n_bytes, bool allow_move) { gc_dump_alloc_table(&mp_plat_print); #endif - // CIRCUITPY + // CIRCUITPY-CHANGE #ifdef LOG_HEAP_ACTIVITY gc_log_change(block, new_blocks); #endif @@ -1203,7 +1203,7 @@ void *gc_realloc(void *ptr_in, size_t n_bytes, bool allow_move) { gc_dump_alloc_table(&mp_plat_print); #endif - // CIRCUITPY + // CIRCUITPY-CHANGE #ifdef LOG_HEAP_ACTIVITY gc_log_change(block, new_blocks); #endif @@ -1243,7 +1243,7 @@ void *gc_realloc(void *ptr_in, size_t n_bytes, bool allow_move) { } #endif // Alternative gc_realloc impl -// CIRCUITPY +// CIRCUITPY-CHANGE bool gc_never_free(void *ptr) { // Check to make sure the pointer is on the heap in the first place. if (gc_nbytes(ptr) == 0) { @@ -1353,7 +1353,7 @@ void gc_dump_alloc_table(const mp_print_t *print) { */ /* this prints the uPy object type of the head block */ case AT_HEAD: { - // CIRCUITPY compiler warning avoidance + // CIRCUITPY-CHANGE: compiler warning avoidance #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-align" void **ptr = (void **)(area->gc_pool_start + bl * BYTES_PER_BLOCK); @@ -1419,7 +1419,7 @@ void gc_dump_alloc_table(const mp_print_t *print) { } mp_print_str(print, "\n"); } - // CIRCUITPY + // CIRCUITPY-CHANGE mp_print_str(&mp_plat_print, "\n"); GC_EXIT(); } diff --git a/py/gc.h b/py/gc.h index b700f75b31..3ad75aa2f7 100644 --- a/py/gc.h +++ b/py/gc.h @@ -34,7 +34,7 @@ #include "py/mpstate.h" #include "py/misc.h" -// CIRCUITPY - this may change when use split heap +// CIRCUITPY-CHANGE: - this may change when use split heap #if !MICROPY_GC_SPLIT_HEAP #define HEAP_PTR(ptr) ( \ MP_STATE_MEM(area).gc_pool_start != 0 /* Not on the heap if it isn't inited */ \ @@ -42,7 +42,7 @@ && ptr < (void *)MP_STATE_MEM(area).gc_pool_end /* must be below end of pool */ \ ) -// CIRCUITPY: defined here so available outside of gc.c +// CIRCUITPY-CHANGE: defined here so available outside of gc.c // ptr should be of type void* #define VERIFY_PTR(ptr) ( \ ((uintptr_t)(ptr) & (MICROPY_BYTES_PER_GC_BLOCK - 1)) == 0 /* must be aligned on a block */ \ @@ -51,7 +51,7 @@ #endif void gc_init(void *start, void *end); -// CIRCUITPY +// CIRCUITPY-CHANGE void gc_deinit(void); #if MICROPY_GC_SPLIT_HEAP @@ -74,12 +74,12 @@ bool gc_is_locked(void); // A given port must implement gc_collect by using the other collect functions. void gc_collect(void); void gc_collect_start(void); -// CIRCUITPY +// CIRCUITPY-CHANGE void gc_collect_ptr(void *ptr); void gc_collect_root(void **ptrs, size_t len); void gc_collect_end(void); -// CIRCUITPY +// CIRCUITPY-CHANGE // Is the gc heap available? bool gc_alloc_possible(void); @@ -96,7 +96,7 @@ size_t gc_nbytes(const void *ptr); bool gc_has_finaliser(const void *ptr); void *gc_realloc(void *ptr, size_t n_bytes, bool allow_move); -// CIRCUITPY +// CIRCUITPY-CHANGE // Prevents a pointer from ever being freed because it establishes a permanent reference to it. Use // very sparingly because it can leak memory. bool gc_never_free(void *ptr); diff --git a/py/makeqstrdata.py b/py/makeqstrdata.py index cf51b62d46..a2d3770e9e 100644 --- a/py/makeqstrdata.py +++ b/py/makeqstrdata.py @@ -3,7 +3,7 @@ Process raw qstr file and output qstr data with length, hash and data bytes. This script works with Python 2.7, 3.3 and 3.4. -CIRCUITPY: +CIRCUITPY-CHANGE: For documentation about the format of compressed translated strings, see supervisor/shared/translate/translate.h """ @@ -272,7 +272,7 @@ def qstr_escape(qst): return re.sub(r"[^A-Za-z0-9_]", esc_char, qst) -# CIRCUITPY: add translations handling +# CIRCUITPY-CHANGE: add translations handling def parse_input_headers_with_translations(infiles): qcfgs = {} qstrs = {} @@ -306,7 +306,7 @@ def parse_input_headers_with_translations(infiles): qcfgs[match.group(1)] = value continue - # CIRCUITPY + # CIRCUITPY-CHANGE match = re.match(r'^TRANSLATE\("(.*)"\)$', line) if match: translations.add(match.group(1)) @@ -345,7 +345,7 @@ def parse_input_headers_with_translations(infiles): order = -190000 elif ident.startswith("__"): order -= 100000 - # CIRCUITPY + # CIRCUITPY-CHANGE elif ident.startswith("_lt"): order -= 100000 elif ident.startswith("_gt"): @@ -359,7 +359,7 @@ def parse_input_headers_with_translations(infiles): return qcfgs, qstrs, translations -# CIRCUITPY: Used externally by mpy-tool.py. Don't pass back translations. +# CIRCUITPY-CHANGE: Used externally by mpy-tool.py. Don't pass back translations. def parse_input_headers(infiles): qcfgs, qstrs, translations = parse_input_headers_with_translations(infiles) return (qcfgs, qstrs) @@ -385,7 +385,7 @@ def make_bytes(cfg_bytes_len, cfg_bytes_hash, qstr): return '%d, %d, "%s"' % (qhash, qlen, qdata) -# CIRCUITPY: add translations +# CIRCUITPY-CHANGE: add translations def print_qstr_data(qcfgs, qstrs, translations): # get config variables cfg_bytes_len = int(qcfgs["BYTES_IN_LEN"]) diff --git a/py/makeqstrdefs.py b/py/makeqstrdefs.py index aed10b1e4d..cb229f9e5c 100644 --- a/py/makeqstrdefs.py +++ b/py/makeqstrdefs.py @@ -2,7 +2,7 @@ This script processes the output from the C preprocessor and extracts all qstr. Each qstr is transformed into a qstr definition of the form 'Q(...)'. -This script works with Python 3.x (CIRCUITPY: not 2.x) +This script works with Python 3.x (CIRCUITPY-CHANGE: not 2.x) """ from __future__ import print_function @@ -165,7 +165,7 @@ def process_file(f): for match in re_match.findall(line): if args.mode == _MODE_QSTR: name = match.replace("MP_QSTR_", "") - # CIRCUITPY: undo character escapes in qstrs in C code + # CIRCUITPY-CHANGE: undo character escapes in qstrs in C code output.append("Q(" + qstr_unescape(name) + ")") elif args.mode in (_MODE_COMPRESS, _MODE_MODULE, _MODE_ROOT_POINTER): output.append(match) diff --git a/py/makeversionhdr.py b/py/makeversionhdr.py index bc9dbdfb79..430b9bef4b 100644 --- a/py/makeversionhdr.py +++ b/py/makeversionhdr.py @@ -13,7 +13,7 @@ import pathlib import datetime import subprocess -# CIRCUITPY: use external script that can override git describe output with an +# CIRCUITPY-CHANGE: use external script that can override git describe output with an # environment variable. tools_describe = str(pathlib.Path(__file__).resolve().parent.parent / "tools/describe") @@ -72,7 +72,7 @@ def get_version_info_from_git(repo_path): except OSError: return None - # CIRCUITPY + # CIRCUITPY-CHANGE # Try to extract MicroPython version from git tag ver = git_tag.split("-")[0].split(".") diff --git a/py/misc.h b/py/misc.h index 9ea3148ea3..b3b5a64491 100644 --- a/py/misc.h +++ b/py/misc.h @@ -69,7 +69,7 @@ typedef unsigned int uint; // TODO make a lazy m_renew that can increase by a smaller amount than requested (but by at least 1 more element) #define m_new(type, num) ((type *)(m_malloc(sizeof(type) * (num)))) -#define m_new_ll(type, num) m_new(type, num) // CIRCUITPY: clue to long-lived allocator +#define m_new_ll(type, num) m_new(type, num) // CIRCUITPY-CHANGE: clue to long-lived allocator #define m_new_maybe(type, num) ((type *)(m_malloc_maybe(sizeof(type) * (num)))) #define m_new0(type, num) ((type *)(m_malloc0(sizeof(type) * (num)))) #define m_new_obj(type) (m_new(type, 1)) @@ -79,7 +79,7 @@ typedef unsigned int uint; #define m_new_obj_var_maybe(obj_type, var_type, var_num) ((obj_type *)m_malloc_maybe(sizeof(obj_type) + sizeof(var_type) * (var_num))) #if MICROPY_ENABLE_FINALISER #define m_new_obj_with_finaliser(type) ((type *)(m_malloc_with_finaliser(sizeof(type)))) -#define m_new_ll_obj_with_finaliser(type) m_new_obj_with_finaliser(type) // CIRCUITPY: clue to long-lived allocator +#define m_new_ll_obj_with_finaliser(type) m_new_obj_with_finaliser(type) // CIRCUITPY-CHANGE: clue to long-lived allocator #define m_new_obj_var_with_finaliser(type, var_type, var_num) ((type *)m_malloc_with_finaliser(sizeof(type) + sizeof(var_type) * (var_num))) #else #define m_new_obj_with_finaliser(type) m_new_obj(type) @@ -134,7 +134,7 @@ size_t m_get_peak_bytes_allocated(void); // align ptr to the nearest multiple of "alignment" #define MP_ALIGN(ptr, alignment) (void *)(((uintptr_t)(ptr) + ((alignment) - 1)) & ~((alignment) - 1)) -// CIRCUITPY +// CIRCUITPY-CHANGE #define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER)) /** unichar / UTF-8 *********************************************/ @@ -341,7 +341,7 @@ typedef const char *mp_rom_error_text_t; // Might add more types of compressed text in the future. // For now, forward directly to MP_COMPRESSED_ROM_TEXT. -// CIRCUITPY: MP_ERROR_TEXT() -> translate() +// CIRCUITPY-CHANGE: MP_ERROR_TEXT() -> translate() #if CIRCUITPY #include "supervisor/shared/translate/translate.h" #else diff --git a/py/mkenv.mk b/py/mkenv.mk index 7d321da82c..a794504413 100644 --- a/py/mkenv.mk +++ b/py/mkenv.mk @@ -12,7 +12,7 @@ endif THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST)) TOP := $(patsubst %/py/mkenv.mk,%,$(THIS_MAKEFILE)) -# CIRCUITPY: verbosity differences, STEPECHO +# CIRCUITPY-CHANGE: verbosity differences, STEPECHO # Turn on increased build verbosity by defining BUILD_VERBOSE in your main # Makefile or in your environment. You can also use V="steps commands rules" or any combination thereof # on the make command line. @@ -74,7 +74,7 @@ AR = $(CROSS_COMPILE)ar MAKE_MANIFEST = $(PYTHON) $(TOP)/tools/makemanifest.py MAKE_FROZEN = $(PYTHON) $(TOP)/tools/make-frozen.py MPY_TOOL = $(PYTHON) $(TOP)/tools/mpy-tool.py -# CIRCUITPY +# CIRCUITPY-CHANGE PREPROCESS_FROZEN_MODULES = PYTHONPATH=$(TOP)/tools/python-semver $(TOP)/tools/preprocess_frozen_modules.py MPY_LIB_SUBMODULE_DIR = $(TOP)/lib/micropython-lib diff --git a/py/mkrules.mk b/py/mkrules.mk index 2ff6bac3f8..16fa05309d 100644 --- a/py/mkrules.mk +++ b/py/mkrules.mk @@ -44,7 +44,7 @@ QSTR_GEN_CXXFLAGS += $(QSTR_GEN_FLAGS) # can be located. By following this scheme, it allows a single build rule # to be used to compile all .c files. -# CIRCUITPY adds STEPECHO +# CIRCUITPY-CHANGE: adds STEPECHO vpath %.S . $(TOP) $(USER_C_MODULES) $(BUILD)/%.o: %.S $(STEPECHO) "CC $<" @@ -79,7 +79,7 @@ $(Q)$(CXX) $(CXXFLAGS) -c -MD -o $@ $< || (echo -e $(HELP_BUILD_ERROR); false) $(RM) -f $(@:.o=.d) endef -# CIRCUITPY: add $(DEVICES_MODULES) and $(BUILD) +# CIRCUITPY-CHANGE: add $(DEVICES_MODULES) and $(BUILD) vpath %.c . $(TOP) $(USER_C_MODULES) $(DEVICES_MODULES) $(BUILD) $(BUILD)/%.o: %.c $(call compile_c) @@ -191,7 +191,7 @@ CFLAGS += -DMICROPY_MODULE_FROZEN_MPY CFLAGS += -DMICROPY_MODULE_FROZEN_STR # to build frozen_content.c from a manifest -# CIRCUITPY: FROZEN_MANIFEST is constructed at build time +# CIRCUITPY-CHANGE: FROZEN_MANIFEST is constructed at build time $(BUILD)/frozen_content.c: FORCE $(BUILD)/genhdr/qstrdefs.generated.h $(BUILD)/genhdr/root_pointers.h $(FROZEN_MANIFEST) | $(MICROPY_MPYCROSS_DEPENDENCY) $(Q)test -e "$(MPY_LIB_DIR)/README.md" || (echo -e $(HELP_MPY_LIB_SUBMODULE); false) $(Q)$(MAKE_MANIFEST) -o $@ -v "MPY_DIR=$(TOP)" -v "MPY_LIB_DIR=$(MPY_LIB_DIR)" -v "PORT_DIR=$(shell pwd)" -v "BOARD_DIR=$(BOARD_DIR)" -b "$(BUILD)" $(if $(MPY_CROSS_FLAGS),-f"$(MPY_CROSS_FLAGS)",) --mpy-tool-flags="$(MPY_TOOL_FLAGS)" $(FROZEN_MANIFEST) diff --git a/py/modbuiltins.c b/py/modbuiltins.c index 46dced9c01..6ba3d6f800 100644 --- a/py/modbuiltins.c +++ b/py/modbuiltins.c @@ -188,7 +188,7 @@ STATIC mp_obj_t mp_builtin_dir(size_t n_args, const mp_obj_t *args) { // Implemented by probing all possible qstrs with mp_load_method_maybe size_t nqstr = QSTR_TOTAL(); for (size_t i = MP_QSTR_ + 1; i < nqstr; ++i) { - // CIRCUITPY changes PR #6539 + // CIRCUITPY-CHANGE: changes PR #6539 mp_obj_t dest[2] = {}; mp_load_method_protected(args[0], i, dest, true); if (dest[0] != MP_OBJ_NULL) { @@ -398,7 +398,7 @@ STATIC mp_obj_t mp_builtin_pow(size_t n_args, const mp_obj_t *args) { } MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_pow_obj, 2, 3, mp_builtin_pow); -// CIRCUITPY adds flush() +// CIRCUITPY-CHANGE: adds flush() STATIC mp_obj_t mp_builtin_print(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { enum { ARG_sep, ARG_end, ARG_flush, ARG_file }; static const mp_arg_t allowed_args[] = { diff --git a/py/modmath.c b/py/modmath.c index 879930515a..e20a38850f 100644 --- a/py/modmath.c +++ b/py/modmath.c @@ -252,7 +252,7 @@ STATIC mp_obj_t mp_math_log(size_t n_args, const mp_obj_t *args) { if (base <= (mp_float_t)0.0) { math_error(); } else if (base == (mp_float_t)1.0) { - // CIRCUITPY: remove redundant text error message + // CIRCUITPY-CHANGE: remove redundant text error message mp_raise_ZeroDivisionError(); } return mp_obj_new_float(l / MICROPY_FLOAT_C_FUN(log)(base)); diff --git a/py/modstruct.c b/py/modstruct.c index 8dbcfa79f1..b2124ac677 100644 --- a/py/modstruct.c +++ b/py/modstruct.c @@ -181,7 +181,7 @@ MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(struct_unpack_from_obj, 2, 3, struct_unpack_ // This function assumes there is enough room in p to store all the values STATIC void struct_pack_into_internal(mp_obj_t fmt_in, byte *p, size_t n_args, const mp_obj_t *args) { - // CIRCUITPY additional error checking + // CIRCUITPY-CHANGE: additional error checking size_t size; size_t count = calc_size_items(mp_obj_str_get_str(fmt_in), &size); if (count != n_args) { diff --git a/py/modsys.c b/py/modsys.c index f3e74d9ec5..f53e5e595a 100644 --- a/py/modsys.c +++ b/py/modsys.c @@ -166,7 +166,7 @@ STATIC mp_obj_t mp_sys_exc_info(void) { t->items[0] = MP_OBJ_FROM_PTR(mp_obj_get_type(cur_exc)); t->items[1] = cur_exc; - // CIRCUITPY has traceback obj + // CIRCUITPY-CHANGE: has traceback obj t->items[2] = mp_obj_exception_get_traceback_obj(cur_exc); return MP_OBJ_FROM_PTR(t); } diff --git a/py/modthread.c b/py/modthread.c index 53b4cc6d1c..3c3656c742 100644 --- a/py/modthread.c +++ b/py/modthread.c @@ -129,7 +129,7 @@ STATIC MP_DEFINE_CONST_OBJ_TYPE( STATIC size_t thread_stack_size = 0; STATIC mp_obj_t mod_thread_get_ident(void) { - // CIRCUITPY: uintptr_t cast to avoid warning + // CIRCUITPY-CHANGE: uintptr_t cast to avoid warning return mp_obj_new_int_from_uint((uintptr_t)mp_thread_get_state()); } STATIC MP_DEFINE_CONST_FUN_OBJ_0(mod_thread_get_ident_obj, mod_thread_get_ident); diff --git a/py/mpconfig.h b/py/mpconfig.h index 3ae363345b..4bfbde2bcc 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -540,7 +540,7 @@ #define MICROPY_OPT_COMPUTED_GOTO (0) #endif -// CIRCUITPY +// CIRCUITPY-CHANGE // Whether to save trade flash space for speed in MICROPY_OPT_COMPUTED_GOTO. // Costs about 3% speed, saves about 1500 bytes space. In addition to the assumptions // of MICROPY_OPT_COMPUTED_GOTO, also assumes that mp_execute_bytecode is less than @@ -606,7 +606,7 @@ #define MICROPY_HAS_FILE_READER (MICROPY_READER_POSIX || MICROPY_READER_VFS) #endif -// CIRCUITPY +// CIRCUITPY-CHANGE // Number of VFS mounts to persist across soft-reset. #ifndef MICROPY_FATFS_NUM_PERSISTENT #define MICROPY_FATFS_NUM_PERSISTENT (0) @@ -811,13 +811,13 @@ typedef long long mp_longint_impl_t; #define MICROPY_ERROR_PRINTER (&mp_plat_print) #endif -// CIRCUITPY +// CIRCUITPY-CHANGE // Whether to support chained exceptions #ifndef MICROPY_CPYTHON_EXCEPTION_CHAIN #define MICROPY_CPYTHON_EXCEPTION_CHAIN (0) #endif -// CIRCUITPY +// CIRCUITPY-CHANGE // Whether the statically allocated GeneratorExit exception may be const #ifndef MICROPY_CONST_GENERATOREXIT_OBJ #define MICROPY_CONST_GENERATOREXIT_OBJ (!MICROPY_CPYTHON_EXCEPTION_CHAIN) @@ -1606,7 +1606,7 @@ typedef double mp_float_t; #define MICROPY_PY_UCTYPES_NATIVE_C_TYPES (1) #endif -// CIRCUITPY +// CIRCUITPY-CHANGE // TODO? CIRCUITPY_ZLIB instead #ifndef MICROPY_PY_ZLIB #define MICROPY_PY_ZLIB (MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_EXTRA_FEATURES) @@ -1696,7 +1696,7 @@ typedef double mp_float_t; #define MICROPY_PY_BINASCII (MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_EXTRA_FEATURES) #endif -// CIRCUITPY: does not depend on MICROPY_PY_DEFLATE +// CIRCUITPY-CHANGE: does not depend on MICROPY_PY_DEFLATE #ifndef MICROPY_PY_BINASCII_CRC32 #define MICROPY_PY_BINASCII_CRC32 (MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_EXTRA_FEATURES) #endif @@ -1993,14 +1993,14 @@ typedef double mp_float_t; #define MP_WEAK __attribute__((weak)) #endif -// CIRCUITPY +// CIRCUITPY-CHANGE // Modifier for functions which should not be instrumented when tracing with // -finstrument-functions #ifndef MP_NO_INSTRUMENT #define MP_NO_INSTRUMENT __attribute__((no_instrument_function)) #endif -// CIRCUITPY +// CIRCUITPY-CHANGE // Modifier for functions which should ideally inlined #ifndef MP_INLINE #define MP_INLINE inline MP_NO_INSTRUMENT @@ -2026,7 +2026,7 @@ typedef double mp_float_t; #define MP_UNLIKELY(x) __builtin_expect((x), 0) #endif -// CIRCUITPY +// CIRCUITPY-CHANGE // Modifier for functions which aren't often used. Calls will also be considered // unlikely. Section names are `.text.unlikely` for use in linker scripts. #ifndef MP_COLD diff --git a/py/mperrno.h b/py/mperrno.h index 94116a0773..a449ae6d4b 100644 --- a/py/mperrno.h +++ b/py/mperrno.h @@ -147,7 +147,7 @@ #include "py/obj.h" qstr mp_errno_to_str(mp_obj_t errno_val); -// CIRCUITPY +// CIRCUITPY-CHANGE const char *mp_common_errno_to_str(mp_obj_t errno_val, char *buf, size_t len); #endif diff --git a/py/mpprint.c b/py/mpprint.c index 0d214a01f6..d0be449119 100644 --- a/py/mpprint.c +++ b/py/mpprint.c @@ -376,7 +376,7 @@ int mp_print_float(const mp_print_t *print, mp_float_t f, char fmt, int flags, c } #endif -// CIRCUITPY +// CIRCUITPY-CHANGE static int print_str_common(const mp_print_t *print, const char *str, int prec, size_t len, int flags, int fill, int width) { if (prec >= 0 && (size_t)prec < len) { len = prec; diff --git a/py/mpprint.h b/py/mpprint.h index 5f7a07af98..ccf794ab5b 100644 --- a/py/mpprint.h +++ b/py/mpprint.h @@ -79,7 +79,7 @@ int mp_printf(const mp_print_t *print, const char *fmt, ...); int mp_vprintf(const mp_print_t *print, const char *fmt, va_list args); #endif -// CIRCUITPY +// CIRCUITPY-CHANGE struct compressed_string; int mp_cprintf(const mp_print_t *print, const struct compressed_string *compressed_fmt, ...); #ifdef va_start diff --git a/py/mpstate.c b/py/mpstate.c index d7eee3cd00..491a66a045 100644 --- a/py/mpstate.c +++ b/py/mpstate.c @@ -25,7 +25,7 @@ */ #include "py/mpstate.h" -// CIRCUITPY +// CIRCUITPY-CHANGE #include "supervisor/linker.h" #if MICROPY_DYNAMIC_COMPILER diff --git a/py/mpstate.h b/py/mpstate.h index 0b17d22646..1995b7623e 100644 --- a/py/mpstate.h +++ b/py/mpstate.h @@ -142,7 +142,7 @@ typedef struct _mp_state_mem_t { mp_thread_mutex_t gc_mutex; #endif - // CIRCUITPY + // CIRCUITPY-CHANGE void **permanent_pointers; } mp_state_mem_t; @@ -270,7 +270,7 @@ typedef struct _mp_state_thread_t { // Stack top at the start of program char *stack_top; - // CIRCUITPY + // CIRCUITPY-CHANGE #if MICROPY_MAX_STACK_USAGE char *stack_bottom; #endif diff --git a/py/mpz.c b/py/mpz.c index 9b62f87ab0..6317d93d4c 100644 --- a/py/mpz.c +++ b/py/mpz.c @@ -452,7 +452,7 @@ STATIC size_t mpn_mul(mpz_dig_t *idig, mpz_dig_t *jdig, size_t jlen, mpz_dig_t * } ilen = id - oidig; - // CIRCUITPY: check to prevent usb starvation + // CIRCUITPY-CHANGE: check to prevent usb starvation #ifdef RUN_BACKGROUND_TASKS RUN_BACKGROUND_TASKS; #endif diff --git a/py/mpz.h b/py/mpz.h index 9e4c3d6469..d2825df3b6 100644 --- a/py/mpz.h +++ b/py/mpz.h @@ -142,7 +142,7 @@ void mpz_divmod_inpl(mpz_t *dest_quo, mpz_t *dest_rem, const mpz_t *lhs, const m static inline size_t mpz_max_num_bits(const mpz_t *z) { return z->len * MPZ_DIG_SIZE; } -// CIRCUITPY +// CIRCUITPY-CHANGE static inline size_t mpz_num_bits(const mpz_t *z) { if (mpz_is_zero(z)) { return 0; diff --git a/py/nativeglue.c b/py/nativeglue.c index f15f1033be..ef75d248c5 100644 --- a/py/nativeglue.c +++ b/py/nativeglue.c @@ -320,7 +320,7 @@ const mp_fun_table_t mp_fun_table = { gc_realloc, mp_printf, mp_vprintf, - mp_raise_msg_str, // CIRCUITPY + mp_raise_msg_str, // CIRCUITPY-CHANGE mp_obj_get_type, mp_obj_new_str, mp_obj_new_bytes, diff --git a/py/nlrthumb.c b/py/nlrthumb.c index 1a1e83956e..65798d1482 100644 --- a/py/nlrthumb.c +++ b/py/nlrthumb.c @@ -36,7 +36,7 @@ // For reference, arm/thumb callee save regs are: // r4-r11, r13=sp -// CIRCUITPY: added returns_twice +// CIRCUITPY-CHANGE: added returns_twice __attribute__((naked, returns_twice)) unsigned int nlr_push(nlr_buf_t *nlr) { __asm volatile ( diff --git a/py/obj.c b/py/obj.c index 8929a04dd3..c43e59d2c3 100644 --- a/py/obj.c +++ b/py/obj.c @@ -107,14 +107,14 @@ const mp_obj_type_t *MICROPY_WRAP_MP_OBJ_GET_TYPE(mp_obj_get_type)(mp_const_obj_ } const char *mp_obj_get_type_str(mp_const_obj_t o_in) { - // CIRCUITPY + // CIRCUITPY-CHANGE return qstr_str(mp_obj_get_type_qstr(o_in)); } void mp_obj_print_helper(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t kind) { // There can be data structures nested too deep, or just recursive MP_STACK_CHECK(); - // CIRCUITPY + // CIRCUITPY-CHANGE #ifdef RUN_BACKGROUND_TASKS RUN_BACKGROUND_TASKS; #endif @@ -143,7 +143,7 @@ void mp_obj_print(mp_obj_t o_in, mp_print_kind_t kind) { mp_obj_print_helper(MP_PYTHON_PRINTER, o_in, kind); } -// CIRCUITPY +// CIRCUITPY-CHANGE static void mp_obj_print_inner_exception(const mp_print_t *print, mp_obj_t self_in, mp_int_t limit) { #if MICROPY_CPYTHON_EXCEPTION_CHAIN mp_obj_exception_t *self = mp_obj_exception_get_native(self_in); @@ -166,7 +166,7 @@ static void mp_obj_print_inner_exception(const mp_print_t *print, mp_obj_t self_ #endif } -// CIRCUITPY +// CIRCUITPY-CHANGE // helper function to print an exception with traceback void mp_obj_print_exception_with_limit(const mp_print_t *print, mp_obj_t exc, mp_int_t limit) { if (mp_obj_is_exception_instance(exc) && stack_ok()) { @@ -227,7 +227,7 @@ void mp_obj_print_exception_with_limit(const mp_print_t *print, mp_obj_t exc, mp mp_print_str(print, "\n"); } -// CIRCUITPY +// CIRCUITPY-CHANGE void mp_obj_print_exception(const mp_print_t *print, mp_obj_t exc) { mp_obj_print_exception_with_limit(print, exc, 0); } @@ -488,7 +488,7 @@ void mp_obj_get_complex(mp_obj_t arg, mp_float_t *real, mp_float_t *imag) { // note: returned value in *items may point to the interior of a GC block void mp_obj_get_array(mp_obj_t o, size_t *len, mp_obj_t **items) { - // CIRCUITPY + // CIRCUITPY-CHANGE if (mp_obj_is_tuple_compatible(o)) { mp_obj_tuple_get(o, len, items); } else if (mp_obj_is_type(o, &mp_type_list)) { @@ -542,7 +542,7 @@ size_t mp_get_index(const mp_obj_type_t *type, size_t len, mp_obj_t index, bool i = len; } } else { - // CIRCUITPY + // CIRCUITPY-CHANGE mp_arg_validate_index_range(i, 0, len - 1, MP_QSTR_index); } @@ -645,7 +645,7 @@ mp_obj_t mp_identity(mp_obj_t self) { } MP_DEFINE_CONST_FUN_OBJ_1(mp_identity_obj, mp_identity); -// CIRCUITPY +// CIRCUITPY-CHANGE // generic subscript iterator, which iterates through anything with a 0-based subscript. typedef struct { mp_obj_base_t base; diff --git a/py/obj.h b/py/obj.h index 0ce974144a..a32971904b 100644 --- a/py/obj.h +++ b/py/obj.h @@ -34,7 +34,7 @@ #include "py/mpprint.h" #include "py/runtime0.h" -// CIRCUITPY +// CIRCUITPY-CHANGE #include "supervisor/shared/translate/compressed_string.h" // This is the definition of the opaque MicroPython object type. @@ -833,7 +833,7 @@ extern const mp_obj_type_t mp_type_bytearray; extern const mp_obj_type_t mp_type_memoryview; extern const mp_obj_type_t mp_type_float; extern const mp_obj_type_t mp_type_complex; -// CIRCUITPY +// CIRCUITPY-CHANGE extern const mp_obj_type_t mp_type_traceback; extern const mp_obj_type_t mp_type_tuple; extern const mp_obj_type_t mp_type_list; @@ -851,13 +851,13 @@ extern const mp_obj_type_t mp_type_zip; extern const mp_obj_type_t mp_type_array; extern const mp_obj_type_t mp_type_super; extern const mp_obj_type_t mp_type_gen_wrap; -// CIRCUITPY distinguishes generators and coroutines +// CIRCUITPY-CHANGE: distinguishes generators and coroutines extern const mp_obj_type_t mp_type_coro_wrap; extern const mp_obj_type_t mp_type_native_gen_wrap; -// CIRCUITPY distinguishes generators and coroutines +// CIRCUITPY-CHANGE: distinguishes generators and coroutines extern const mp_obj_type_t mp_type_native_coro_wrap; extern const mp_obj_type_t mp_type_gen_instance; -// CIRCUITPY distinguishes generators and coroutines +// CIRCUITPY-CHANGE: distinguishes generators and coroutines extern const mp_obj_type_t mp_type_coro_instance; extern const mp_obj_type_t mp_type_fun_builtin_0; extern const mp_obj_type_t mp_type_fun_builtin_1; @@ -889,7 +889,7 @@ extern const mp_obj_type_t mp_type_ImportError; extern const mp_obj_type_t mp_type_IndentationError; extern const mp_obj_type_t mp_type_IndexError; extern const mp_obj_type_t mp_type_KeyboardInterrupt; -// CIRCUITPY +// CIRCUITPY-CHANGE extern const mp_obj_type_t mp_type_ReloadException; extern const mp_obj_type_t mp_type_KeyError; extern const mp_obj_type_t mp_type_LookupError; @@ -897,9 +897,9 @@ extern const mp_obj_type_t mp_type_MemoryError; extern const mp_obj_type_t mp_type_NameError; extern const mp_obj_type_t mp_type_NotImplementedError; extern const mp_obj_type_t mp_type_OSError; -// CIRCUITPY +// CIRCUITPY-CHANGE extern const mp_obj_type_t mp_type_ConnectionError; -// CIRCUITPY +// CIRCUITPY-CHANGE extern const mp_obj_type_t mp_type_BrokenPipeError; extern const mp_obj_type_t mp_type_OverflowError; extern const mp_obj_type_t mp_type_RuntimeError; @@ -943,7 +943,7 @@ extern const struct _mp_obj_str_t mp_const_empty_bytes_obj; extern const struct _mp_obj_tuple_t mp_const_empty_tuple_obj; extern const struct _mp_obj_dict_t mp_const_empty_dict_obj; extern const struct _mp_obj_singleton_t mp_const_ellipsis_obj; -// CIRCUITPY next several lines +// CIRCUITPY-CHANGE: next several lines extern const struct _mp_obj_traceback_t mp_const_empty_traceback_obj; extern const struct _mp_obj_singleton_t mp_const_notimplemented_obj; #if MICROPY_CONST_GENERATOREXIT_OBJ @@ -992,7 +992,7 @@ void *mp_obj_malloc_helper(size_t num_bytes, const mp_obj_type_t *type); #define mp_obj_is_str_or_bytes(o) (mp_obj_is_qstr(o) || (mp_obj_is_obj(o) && MP_OBJ_TYPE_GET_SLOT_OR_NULL(((mp_obj_base_t *)MP_OBJ_TO_PTR(o))->type, binary_op) == mp_obj_str_binary_op)) bool mp_obj_is_dict_or_ordereddict(mp_obj_t o); #define mp_obj_is_fun(o) (mp_obj_is_obj(o) && (((mp_obj_base_t *)MP_OBJ_TO_PTR(o))->type->name == MP_QSTR_function)) -// CIRCUITPY +// CIRCUITPY-CHANGE // type check is done on iter method to allow tuple, namedtuple, attrtuple #define mp_obj_is_tuple_compatible(o) (MP_OBJ_TYPE_GET_SLOT_OR_NULL(mp_obj_get_type(o), iter) == mp_obj_tuple_getiter) @@ -1016,16 +1016,17 @@ mp_obj_t mp_obj_new_str_from_utf8_vstr(vstr_t *vstr); // input data must be vali #endif mp_obj_t mp_obj_new_bytes_from_vstr(vstr_t *vstr); mp_obj_t mp_obj_new_bytes(const byte *data, size_t len); -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_new_bytes_of_zeros(size_t len); mp_obj_t mp_obj_new_bytearray(size_t n, const void *items); -mp_obj_t mp_obj_new_bytearray_of_zeros(size_t n); // CIRCUITPY +// CIRCUITPY-CHANGE +mp_obj_t mp_obj_new_bytearray_of_zeros(size_t n); mp_obj_t mp_obj_new_bytearray_by_ref(size_t n, void *items); #if MICROPY_PY_BUILTINS_FLOAT mp_obj_t mp_obj_new_int_from_float(mp_float_t val); mp_obj_t mp_obj_new_complex(mp_float_t real, mp_float_t imag); -// CIRCUITPY: our own conversion routines that don't bring double routines +// CIRCUITPY-CHANGE: our own conversion routines that don't bring double routines extern mp_float_t uint64_to_float(uint64_t ui64); extern uint64_t float_to_uint64(float f); #endif @@ -1035,12 +1036,12 @@ mp_obj_t mp_obj_new_exception_args(const mp_obj_type_t *exc_type, size_t n_args, #define mp_obj_new_exception_msg(exc_type, msg) mp_obj_new_exception(exc_type) #define mp_obj_new_exception_msg_varg(exc_type, ...) mp_obj_new_exception(exc_type) #else -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_new_exception_msg(const mp_obj_type_t *exc_type, const compressed_string_t *msg); mp_obj_t mp_obj_new_exception_msg_varg(const mp_obj_type_t *exc_type, const compressed_string_t *fmt, ...); // counts args by number of % symbols in fmt, excluding %%; can only handle void* sizes (ie no float/double!) #endif #ifdef va_start -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_new_exception_msg_vlist(const mp_obj_type_t *exc_type, const compressed_string_t *fmt, va_list arg); // same fmt restrictions as above #endif mp_obj_t mp_obj_new_gen_wrap(mp_obj_t fun); @@ -1057,7 +1058,7 @@ mp_obj_t mp_obj_new_memoryview(byte typecode, size_t nitems, void *items); const mp_obj_type_t *mp_obj_get_type(mp_const_obj_t o_in); const char *mp_obj_get_type_str(mp_const_obj_t o_in); -// CIRCUITPY +// CIRCUITPY-CHANGE #define mp_obj_get_type_qstr(o_in) (mp_obj_get_type((o_in))->name) bool mp_obj_is_subclass_fast(mp_const_obj_t object, mp_const_obj_t classinfo); // arguments should be type objects mp_obj_t mp_obj_cast_to_native_base(mp_obj_t self_in, mp_const_obj_t native_type); @@ -1065,7 +1066,7 @@ mp_obj_t mp_obj_cast_to_native_base(mp_obj_t self_in, mp_const_obj_t native_type void mp_obj_print_helper(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t kind); void mp_obj_print(mp_obj_t o, mp_print_kind_t kind); void mp_obj_print_exception(const mp_print_t *print, mp_obj_t exc); -// CIRCUITPY +// CIRCUITPY-CHANGE void mp_obj_print_exception_with_limit(const mp_print_t *print, mp_obj_t exc, mp_int_t limit); bool mp_obj_is_true(mp_obj_t arg); @@ -1128,7 +1129,7 @@ bool mp_obj_exception_match(mp_obj_t exc, mp_const_obj_t exc_type); void mp_obj_exception_clear_traceback(mp_obj_t self_in); void mp_obj_exception_add_traceback(mp_obj_t self_in, qstr file, size_t line, qstr block); void mp_obj_exception_get_traceback(mp_obj_t self_in, size_t *n, size_t **values); -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_exception_get_traceback_obj(mp_obj_t self_in); mp_obj_t mp_obj_exception_get_value(mp_obj_t self_in); mp_obj_t mp_obj_exception_make_new(const mp_obj_type_t *type_in, size_t n_args, size_t n_kw, const mp_obj_t *args); @@ -1205,7 +1206,7 @@ void mp_obj_tuple_del(mp_obj_t self_in); mp_int_t mp_obj_tuple_hash(mp_obj_t self_in); // list -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_list_clear(mp_obj_t self_in); mp_obj_t mp_obj_list_append(mp_obj_t self_in, mp_obj_t arg); mp_obj_t mp_obj_list_remove(mp_obj_t self_in, mp_obj_t value); @@ -1275,7 +1276,7 @@ qstr mp_obj_fun_get_name(mp_const_obj_t fun); mp_obj_t mp_identity(mp_obj_t self); MP_DECLARE_CONST_FUN_OBJ_1(mp_identity_obj); -// CIRCUITPY +// CIRCUITPY-CHANGE // Generic iterator that uses unary op and subscr to iterate over a native type. It will be slower // than a custom iterator but applies broadly. mp_obj_t mp_obj_generic_subscript_getiter(mp_obj_t self, mp_obj_iter_buf_t *iter_buf); @@ -1301,12 +1302,12 @@ typedef struct _mp_rom_obj_static_class_method_t { } mp_rom_obj_static_class_method_t; // property -// CIRCUITPY +// CIRCUITPY-CHANGE const mp_obj_t *mp_obj_property_get(mp_obj_t self_in, size_t *n_proxy); // sequence helpers -// CIRCUITPY +// CIRCUITPY-CHANGE // Compute the new length of a sequence and ensure an exception is thrown on overflow. size_t mp_seq_multiply_len(size_t item_sz, size_t len); void mp_seq_multiply(const void *items, size_t item_sz, size_t len, size_t times, void *dest); diff --git a/py/objarray.c b/py/objarray.c index 76de8eaf76..4e986e2378 100644 --- a/py/objarray.c +++ b/py/objarray.c @@ -65,7 +65,7 @@ STATIC mp_obj_t array_iterator_new(mp_obj_t array_in, mp_obj_iter_buf_t *iter_bu STATIC mp_obj_t array_append(mp_obj_t self_in, mp_obj_t arg); STATIC mp_obj_t array_extend(mp_obj_t self_in, mp_obj_t arg_in); STATIC mp_int_t array_get_buffer(mp_obj_t o_in, mp_buffer_info_t *bufinfo, mp_uint_t flags); -// CIRCUITPY +// CIRCUITPY-CHANGE #if MICROPY_CPYTHON_COMPAT STATIC mp_obj_t array_decode(size_t n_args, const mp_obj_t *args); #endif @@ -100,7 +100,7 @@ STATIC void array_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t #if MICROPY_PY_BUILTINS_BYTEARRAY || MICROPY_PY_ARRAY STATIC mp_obj_array_t *array_new(char typecode, size_t n) { - // CIRCUITPY + // CIRCUITPY-CHANGE if (typecode == 'x') { mp_raise_ValueError(MP_ERROR_TEXT("bad typecode")); } @@ -134,7 +134,7 @@ STATIC mp_obj_t array_construct(char typecode, mp_obj_t initializer) { && mp_get_buffer(initializer, &bufinfo, MP_BUFFER_READ)) { // construct array from raw bytes size_t sz = mp_binary_get_size('@', typecode, NULL); - // CIRCUITPY + // CIRCUITPY-CHANGE if (bufinfo.len % sz) { mp_raise_ValueError(MP_ERROR_TEXT("bytes length not a multiple of item size")); } @@ -198,7 +198,7 @@ STATIC mp_obj_t bytearray_make_new(const mp_obj_type_t *type_in, size_t n_args, // no args: construct an empty bytearray return MP_OBJ_FROM_PTR(array_new(BYTEARRAY_TYPECODE, 0)); } else if (mp_obj_is_int(args[0])) { - // CIRCUITPY error checks this + // CIRCUITPY-CHANGE: error checks this if (n_args > 1) { mp_raise_TypeError(MP_ERROR_TEXT("wrong number of arguments")); } @@ -261,7 +261,7 @@ STATIC mp_obj_t memoryview_make_new(const mp_obj_type_t *type_in, size_t n_args, return MP_OBJ_FROM_PTR(self); } -// CIRCUITPY adds cast +// CIRCUITPY-CHANGE: adds cast #if MICROPY_CPYTHON_COMPAT STATIC mp_obj_t memoryview_cast(const mp_obj_t self_in, const mp_obj_t typecode_in) { mp_obj_array_t *self = MP_OBJ_TO_PTR(self_in); @@ -330,7 +330,7 @@ STATIC int typecode_for_comparison(int typecode, bool *is_unsigned) { STATIC mp_obj_t array_binary_op(mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs_in) { mp_obj_array_t *lhs = MP_OBJ_TO_PTR(lhs_in); switch (op) { - // CIRCUITPY does multiply + // CIRCUITPY-CHANGE: does multiply case MP_BINARY_OP_MULTIPLY: case MP_BINARY_OP_INPLACE_MULTIPLY: { if (!mp_obj_is_int(rhs_in)) { @@ -486,7 +486,7 @@ STATIC mp_obj_t array_extend(mp_obj_t self_in, mp_obj_t arg_in) { // allow to extend by anything that has the buffer protocol (extension to CPython) mp_buffer_info_t arg_bufinfo; - // CIRCUITPY: allow appending an iterable + // CIRCUITPY-CHANGE: allow appending an iterable if (mp_get_buffer(arg_in, &arg_bufinfo, MP_BUFFER_READ)) { size_t sz = mp_binary_get_size('@', self->typecode, NULL); @@ -557,7 +557,7 @@ STATIC mp_obj_t buffer_finder(size_t n_args, const mp_obj_t *args, int direction return MP_OBJ_NEW_SMALL_INT(p - (const byte *)haystack_bufinfo.buf); } -// CIRCUITPY provides find, rfind, index +// CIRCUITPY-CHANGE: provides find, rfind, index STATIC mp_obj_t buffer_find(size_t n_args, const mp_obj_t *args) { return buffer_finder(n_args, args, 1, false); } @@ -733,7 +733,7 @@ STATIC mp_int_t array_get_buffer(mp_obj_t o_in, mp_buffer_info_t *bufinfo, mp_ui } -// CIRCUITPY +// CIRCUITPY-CHANGE #if MICROPY_CPYTHON_COMPAT && MICROPY_PY_BUILTINS_BYTEARRAY // Directly lifted from objstr.c STATIC mp_obj_t array_decode(size_t n_args, const mp_obj_t *args) { @@ -808,7 +808,8 @@ MP_DEFINE_CONST_OBJ_TYPE( #define MEMORYVIEW_TYPE_ATTR #endif -#if MICROPY_CPYTHON_COMPAT // CIRCUITPY provides cast +#if MICROPY_CPYTHON_COMPAT +// CIRCUITPY-CHANGE: provides cast STATIC const mp_rom_map_elem_t memoryview_locals_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_cast), MP_ROM_PTR(&memoryview_cast_obj) }, #if MICROPY_PY_BUILTINS_BYTES_HEX @@ -851,7 +852,7 @@ mp_obj_t mp_obj_new_bytearray(size_t n, const void *items) { return MP_OBJ_FROM_PTR(o); } -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_new_bytearray_of_zeros(size_t n) { mp_obj_array_t *o = array_new(BYTEARRAY_TYPECODE, n); memset(o->items, 0, n); diff --git a/py/objcomplex.c b/py/objcomplex.c index 43ab4b889b..c69339c6cc 100644 --- a/py/objcomplex.c +++ b/py/objcomplex.c @@ -36,7 +36,7 @@ #include #include "py/formatfloat.h" -// CIRCUITPY compilation warning removal +// CIRCUITPY-CHANGE: compilation warning removal #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wfloat-equal" diff --git a/py/objdict.c b/py/objdict.c index eb8eabc1a1..103161658b 100644 --- a/py/objdict.c +++ b/py/objdict.c @@ -305,7 +305,7 @@ STATIC mp_obj_t dict_fromkeys(size_t n_args, const mp_obj_t *args) { mp_obj_t len = mp_obj_len_maybe(args[1]); if (len == MP_OBJ_NULL) { /* object's type doesn't have a __len__ slot */ - // CIRCUITPY uses dict_new_typed() here. + // CIRCUITPY-CHANGE: uses dict_new_typed() here. self_out = dict_new_typed(type, 0); } else { self_out = dict_new_typed(type, MP_OBJ_SMALL_INT_VALUE(len)); @@ -442,7 +442,7 @@ STATIC mp_obj_t dict_update(size_t n_args, const mp_obj_t *args, mp_map_t *kwarg } STATIC MP_DEFINE_CONST_FUN_OBJ_KW(dict_update_obj, 1, dict_update); -// CIRCUITPY +// CIRCUITPY-CHANGE #if MICROPY_PY_COLLECTIONS_ORDEREDDICT STATIC mp_obj_t dict_move_to_end(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { mp_obj_dict_t *self = MP_OBJ_TO_PTR(pos_args[0]); @@ -578,7 +578,7 @@ STATIC void dict_view_print(const mp_print_t *print, mp_obj_t self_in, mp_print_ mp_print_str(print, "])"); } -// CIRCUITPY +// CIRCUITPY-CHANGE STATIC mp_obj_t dict_view_unary_op(mp_unary_op_t op, mp_obj_t o_in) { mp_obj_dict_view_t *o = MP_OBJ_TO_PTR(o_in); // only dict.values() supports __hash__. @@ -663,7 +663,7 @@ STATIC const mp_rom_map_elem_t dict_locals_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_get), MP_ROM_PTR(&dict_get_obj) }, { MP_ROM_QSTR(MP_QSTR_items), MP_ROM_PTR(&dict_items_obj) }, { MP_ROM_QSTR(MP_QSTR_keys), MP_ROM_PTR(&dict_keys_obj) }, - // CIRCUITPY + // CIRCUITPY-CHANGE #if MICROPY_PY_COLLECTIONS_ORDEREDDICT { MP_ROM_QSTR(MP_QSTR_move_to_end), MP_ROM_PTR(&dict_move_to_end_obj) }, #endif diff --git a/py/objexcept.c b/py/objexcept.c index 506d50c36d..ba3166a2ab 100644 --- a/py/objexcept.c +++ b/py/objexcept.c @@ -116,7 +116,7 @@ bool mp_obj_is_native_exception_instance(mp_obj_t self_in) { return MP_OBJ_TYPE_GET_SLOT_OR_NULL(mp_obj_get_type(self_in), make_new) == mp_obj_exception_make_new; } -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_exception_t *mp_obj_exception_get_native(mp_obj_t self_in) { assert(mp_obj_is_exception_instance(self_in)); if (mp_obj_is_native_exception_instance(self_in)) { @@ -183,7 +183,7 @@ void mp_obj_exception_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kin #if MICROPY_PY_ERRNO // try to provide a nice OSError error message if (o->base.type == &mp_type_OSError && o->args->len > 0 && o->args->len < 3 && mp_obj_is_small_int(o->args->items[0])) { - // CIRCUITPY can print a whole string, not just the errno qstr + // CIRCUITPY-CHANGE: can print a whole string, not just the errno qstr char decompressed[50]; const char *msg = mp_common_errno_to_str(o->args->items[0], decompressed, sizeof(decompressed)); if (msg != NULL) { @@ -206,7 +206,7 @@ void mp_obj_exception_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kin mp_obj_tuple_print(print, MP_OBJ_FROM_PTR(o->args), kind); } -// CIRCUITPY +// CIRCUITPY-CHANGE void mp_obj_exception_initialize0(mp_obj_exception_t *o_exc, const mp_obj_type_t *type) { o_exc->base.type = type; o_exc->args = (mp_obj_tuple_t *)&mp_const_empty_tuple_obj; @@ -224,7 +224,7 @@ mp_obj_t mp_obj_exception_make_new(const mp_obj_type_t *type, size_t n_args, siz // Populate the exception object o_exc->base.type = type; - // CIRCUITPY + // CIRCUITPY-CHANGE o_exc->traceback = (mp_obj_traceback_t *)&mp_const_empty_traceback_obj; mp_obj_tuple_t *o_tuple; @@ -265,7 +265,7 @@ mp_obj_t mp_obj_exception_make_new(const mp_obj_type_t *type, size_t n_args, siz // Get exception "value" - that is, first argument, or None mp_obj_t mp_obj_exception_get_value(mp_obj_t self_in) { - // CIRCUITPY + // CIRCUITPY-CHANGE mp_obj_exception_t *self = mp_obj_exception_get_native(self_in); if (self->args->len == 0) { return mp_const_none; @@ -279,7 +279,7 @@ void mp_obj_exception_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) { mp_obj_exception_t *self = MP_OBJ_TO_PTR(self_in); if (dest[0] != MP_OBJ_NULL) { // store/delete attribute - // CIRCUITPY changes till end of function + // CIRCUITPY-CHANGE: changes till end of function #if MICROPY_CONST_GENERATOREXIT_OBJ if (self == &mp_const_GeneratorExit_obj) { mp_raise_AttributeError(MP_ERROR_TEXT("can't set attribute")); @@ -380,7 +380,7 @@ MP_DEFINE_CONST_OBJ_TYPE( // http://docs.python.org/3/library/exceptions.html MP_DEFINE_EXCEPTION(SystemExit, BaseException) MP_DEFINE_EXCEPTION(KeyboardInterrupt, BaseException) -// CIRCUITPY +// CIRCUITPY-CHANGE MP_DEFINE_EXCEPTION(ReloadException, BaseException) MP_DEFINE_EXCEPTION(GeneratorExit, BaseException) MP_DEFINE_EXCEPTION(Exception, BaseException) @@ -410,7 +410,7 @@ MP_DEFINE_EXCEPTION(Exception, BaseException) MP_DEFINE_EXCEPTION(BlockingIOError, OSError) MP_DEFINE_EXCEPTION(ChildProcessError, OSError) */ - // CIRCUITPY + // CIRCUITPY-CHANGE MP_DEFINE_EXCEPTION(ConnectionError, OSError) MP_DEFINE_EXCEPTION(BrokenPipeError, ConnectionError) /* @@ -423,7 +423,7 @@ MP_DEFINE_EXCEPTION(Exception, BaseException) MP_DEFINE_EXCEPTION(PermissionError, OSError) MP_DEFINE_EXCEPTION(ProcessLookupError, OSError) */ - // CIRCUITPY + // CIRCUITPY-CHANGE MP_DEFINE_EXCEPTION(TimeoutError, OSError) /* MP_DEFINE_EXCEPTION(FileExistsError, OSError) @@ -478,7 +478,7 @@ mp_obj_t mp_obj_new_exception_args(const mp_obj_type_t *exc_type, size_t n_args, #if MICROPY_ERROR_REPORTING != MICROPY_ERROR_REPORTING_NONE mp_obj_t mp_obj_new_exception_msg(const mp_obj_type_t *exc_type, const compressed_string_t *msg) { - // CIRCUITPY is different here and for many lines below. + // CIRCUITPY-CHANGE: is different here and for many lines below. return mp_obj_new_exception_msg_varg(exc_type, msg); } @@ -712,7 +712,7 @@ void mp_obj_exception_get_traceback(mp_obj_t self_in, size_t *n, size_t **values } } -// CIRCUITPY +// CIRCUITPY-CHANGE #if MICROPY_PY_SYS_EXC_INFO STATIC const mp_obj_namedtuple_type_t code_type_obj = { NAMEDTUPLE_TYPE_BASE_AND_SLOTS(MP_QSTR_code), diff --git a/py/objexcept.h b/py/objexcept.h index f32572b1e8..1311effde8 100644 --- a/py/objexcept.h +++ b/py/objexcept.h @@ -28,7 +28,7 @@ #include "py/obj.h" #include "py/objtuple.h" -// CIRCUITPY changes here and below for traceback. +// CIRCUITPY-CHANGE: changes here and below for traceback. #include "py/objtraceback.h" typedef struct _mp_obj_exception_t { diff --git a/py/objfloat.c b/py/objfloat.c index b66450874e..66de3a0b74 100644 --- a/py/objfloat.c +++ b/py/objfloat.c @@ -37,7 +37,7 @@ #include #include "py/formatfloat.h" -// CIRCUITPY avoid compiler warning +// CIRCUITPY-CHANGE: avoid compiler warning #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wfloat-equal" @@ -347,7 +347,7 @@ mp_obj_t mp_obj_float_binary_op(mp_binary_op_t op, mp_float_t lhs_val, mp_obj_t return mp_obj_new_float(lhs_val); } -// CIRCUITPY +// CIRCUITPY-CHANGE // Convert a uint64_t to a 32-bit float without invoking the double-precision math routines, // which are large. mp_float_t uint64_to_float(uint64_t ui64) { @@ -355,7 +355,7 @@ mp_float_t uint64_to_float(uint64_t ui64) { return (mp_float_t)((uint32_t)(ui64 >> 32) * 4294967296.0f + (uint32_t)(ui64 & 0xffffffff)); } -// CIRCUITPY +// CIRCUITPY-CHANGE // Convert a uint64_t to a 32-bit float to a uint64_t without invoking extra math routines. // which are large. // Assume f >= 0. diff --git a/py/objgenerator.c b/py/objgenerator.c index 144a9ae627..67e88fb6c7 100644 --- a/py/objgenerator.c +++ b/py/objgenerator.c @@ -36,7 +36,7 @@ #include "py/stackctrl.h" // Instance of GeneratorExit exception - needed by generator.close() -// CIRCUITPY: https://github.com/adafruit/circuitpython/pull/7069 fix +// CIRCUITPY-CHANGE: https://github.com/adafruit/circuitpython/pull/7069 fix #if MICROPY_CONST_GENERATOREXIT_OBJ const mp_obj_exception_t mp_const_GeneratorExit_obj = {{&mp_type_GeneratorExit}, (mp_obj_tuple_t *)&mp_const_empty_tuple_obj, (mp_obj_traceback_t *)&mp_const_empty_traceback_obj}; @@ -205,7 +205,7 @@ STATIC void gen_instance_print(const mp_print_t *print, mp_obj_t self_in, mp_pri mp_printf(print, "", mp_obj_fun_get_name(MP_OBJ_FROM_PTR(self->code_state.fun_bc)), self); } -// CIRCUITPY +// CIRCUITPY-CHANGE #if MICROPY_PY_ASYNC_AWAIT STATIC void coro_instance_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) { (void)kind; @@ -216,7 +216,7 @@ STATIC void coro_instance_print(const mp_print_t *print, mp_obj_t self_in, mp_pr mp_vm_return_kind_t mp_obj_gen_resume(mp_obj_t self_in, mp_obj_t send_value, mp_obj_t throw_value, mp_obj_t *ret_val) { MP_STACK_CHECK(); - // CIRCUITPY + // CIRCUITPY-CHANGE // note that self may have as its type either gen or coro, // both of which are stored as an mp_obj_gen_instance_t . mp_check_self( @@ -453,7 +453,7 @@ MP_DEFINE_CONST_OBJ_TYPE( ); #if MICROPY_PY_ASYNC_AWAIT -// CIRCUITPY +// CIRCUITPY-CHANGE // coroutine instance locals dict and type // same as generator, but with addition of __await()__. STATIC const mp_rom_map_elem_t coro_instance_locals_dict_table[] = { diff --git a/py/objint.c b/py/objint.c index 7cded790ba..ff1c3f7c84 100644 --- a/py/objint.c +++ b/py/objint.c @@ -300,7 +300,7 @@ char *mp_obj_int_formatted(char **buf, size_t *buf_size, size_t *fmt_size, mp_co return b; } -// CIRCUITPY +// CIRCUITPY-CHANGE #if MICROPY_LONGINT_IMPL != MICROPY_LONGINT_IMPL_NONE void mp_obj_int_buffer_overflow_check(mp_obj_t self_in, size_t nbytes, bool is_signed) { @@ -395,7 +395,7 @@ mp_obj_t mp_obj_int_binary_op(mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs_i // This is called only with strings whose value doesn't fit in SMALL_INT mp_obj_t mp_obj_new_int_from_str_len(const char **str, size_t len, bool neg, unsigned int base) { - // CIRCUITPY different error message + // CIRCUITPY-CHANGE: different error message mp_raise_msg(&mp_type_OverflowError, MP_ERROR_TEXT("No long integer support")); return mp_const_none; } @@ -458,7 +458,7 @@ mp_obj_t mp_obj_int_binary_op_extra_cases(mp_binary_op_t op, mp_obj_t lhs_in, mp return MP_OBJ_NULL; // op not supported } -// CIRCUITPY +// CIRCUITPY-CHANGE #if MICROPY_CPYTHON_COMPAT STATIC mp_obj_t int_bit_length(mp_obj_t self_in) { #if MICROPY_LONGINT_IMPL != MICROPY_LONGINT_IMPL_NONE @@ -480,7 +480,7 @@ STATIC mp_obj_t int_bit_length(mp_obj_t self_in) { MP_DEFINE_CONST_FUN_OBJ_1(int_bit_length_obj, int_bit_length); #endif -// CIRCUITPY more functionality +// CIRCUITPY-CHANGE: more functionality // this is a classmethod STATIC mp_obj_t int_from_bytes(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { // TODO: Support signed param (assumes signed=False at the moment) @@ -575,7 +575,7 @@ STATIC mp_obj_t int_to_bytes(size_t n_args, const mp_obj_t *pos_args, mp_map_t * STATIC MP_DEFINE_CONST_FUN_OBJ_KW(int_to_bytes_obj, 3, int_to_bytes); STATIC const mp_rom_map_elem_t int_locals_dict_table[] = { - // CIRCUITPY + // CIRCUITPY-CHANGE #if MICROPY_CPYTHON_COMPAT { MP_ROM_QSTR(MP_QSTR_bit_length), MP_ROM_PTR(&int_bit_length_obj) }, #endif diff --git a/py/objint.h b/py/objint.h index 1cd457bc00..b081d65905 100644 --- a/py/objint.h +++ b/py/objint.h @@ -53,7 +53,7 @@ char *mp_obj_int_formatted(char **buf, size_t *buf_size, size_t *fmt_size, mp_co int base, const char *prefix, char base_char, char comma); char *mp_obj_int_formatted_impl(char **buf, size_t *buf_size, size_t *fmt_size, mp_const_obj_t self_in, int base, const char *prefix, char base_char, char comma); -// CIRCUITPY +// CIRCUITPY-CHANGE #if MICROPY_LONGINT_IMPL != MICROPY_LONGINT_IMPL_NONE void mp_obj_int_buffer_overflow_check(mp_obj_t self_in, size_t nbytes, bool is_signed); #endif @@ -61,7 +61,7 @@ void mp_obj_int_buffer_overflow_check(mp_obj_t self_in, size_t nbytes, bool is_s void mp_small_int_buffer_overflow_check(mp_int_t val, size_t nbytes, bool is_signed); mp_int_t mp_obj_int_hash(mp_obj_t self_in); -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_int_bit_length_impl(mp_obj_t self_in); mp_obj_t mp_obj_int_from_bytes_impl(bool big_endian, size_t len, const byte *buf); void mp_obj_int_to_bytes_impl(mp_obj_t self_in, bool big_endian, size_t len, byte *buf); diff --git a/py/objint_longlong.c b/py/objint_longlong.c index 5e1e26f690..4a5ef05fcf 100644 --- a/py/objint_longlong.c +++ b/py/objint_longlong.c @@ -43,7 +43,7 @@ const mp_obj_int_t mp_sys_maxsize_obj = {{&mp_type_int}, MP_SSIZE_MAX}; #endif -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_int_bit_length_impl(mp_obj_t self_in) { assert(mp_obj_is_type(self_in, &mp_type_int)); mp_obj_int_t *self = self_in; diff --git a/py/objint_mpz.c b/py/objint_mpz.c index e04c8ca86b..847653b25f 100644 --- a/py/objint_mpz.c +++ b/py/objint_mpz.c @@ -106,7 +106,7 @@ char *mp_obj_int_formatted_impl(char **buf, size_t *buf_size, size_t *fmt_size, return str; } -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_int_bit_length_impl(mp_obj_t self_in) { assert(mp_obj_is_exact_type(self_in, &mp_type_int)); mp_obj_int_t *self = MP_OBJ_TO_PTR(self_in); diff --git a/py/objlist.c b/py/objlist.c index b183eda5a8..07cfbd7a51 100644 --- a/py/objlist.c +++ b/py/objlist.c @@ -39,7 +39,7 @@ STATIC mp_obj_t list_pop(size_t n_args, const mp_obj_t *args); // TODO: Move to mpconfig.h #define LIST_MIN_ALLOC 4 -// CIRCUITPY: native_list() and other changes here for broadcom port +// CIRCUITPY-CHANGE: native_list() and other changes here for broadcom port // https://github.com/adafruit/circuitpython/pull/5610 /******************************************************************************/ @@ -293,7 +293,7 @@ inline mp_obj_t mp_obj_list_pop(mp_obj_list_t *self, size_t index) { return ret; } -// CIRCUITPY +// CIRCUITPY-CHANGE STATIC mp_obj_t list_pop(size_t n_args, const mp_obj_t *args) { mp_check_self(mp_obj_is_type(args[0], &mp_type_list)); mp_obj_list_t *self = native_list(args[0]); diff --git a/py/objlist.h b/py/objlist.h index aa2a666020..2046de4b9e 100644 --- a/py/objlist.h +++ b/py/objlist.h @@ -37,7 +37,7 @@ typedef struct _mp_obj_list_t { void mp_obj_list_init(mp_obj_list_t *o, size_t n); mp_obj_t mp_obj_list_make_new(const mp_obj_type_t *type_in, size_t n_args, size_t n_kw, const mp_obj_t *args); -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_list_pop(mp_obj_list_t *self, size_t index); void mp_obj_list_insert(mp_obj_list_t *self, size_t index, mp_obj_t obj); diff --git a/py/objnamedtuple.c b/py/objnamedtuple.c index fa07c8b00b..fec8028b19 100644 --- a/py/objnamedtuple.c +++ b/py/objnamedtuple.c @@ -44,7 +44,7 @@ size_t mp_obj_namedtuple_find_field(const mp_obj_namedtuple_type_t *type, qstr n return (size_t)-1; } -// CIRCUITPY differences +// CIRCUITPY-CHANGE: differences #if MICROPY_PY_COLLECTIONS_NAMEDTUPLE__ASDICT STATIC mp_obj_t namedtuple_asdict(mp_obj_t self_in) { mp_obj_namedtuple_t *self = MP_OBJ_TO_PTR(self_in); diff --git a/py/objnamedtuple.h b/py/objnamedtuple.h index d2f304bbfc..f0db2dafd4 100644 --- a/py/objnamedtuple.h +++ b/py/objnamedtuple.h @@ -52,7 +52,7 @@ void namedtuple_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest); mp_obj_namedtuple_type_t *mp_obj_new_namedtuple_base(size_t n_fields, mp_obj_t *fields); mp_obj_t namedtuple_make_new(const mp_obj_type_t *type_in, size_t n_args, size_t n_kw, const mp_obj_t *args); -// CIRCUITPY yikes +// CIRCUITPY-CHANGE: yikes #define NAMEDTUPLE_TYPE_BASE_AND_SLOTS_MAKE_NEW(type_name, make_new_fun) \ .base = { \ .base = { .type = &mp_type_type }, \ diff --git a/py/objobject.c b/py/objobject.c index 11dc25e2c3..4806c2522d 100644 --- a/py/objobject.c +++ b/py/objobject.c @@ -49,7 +49,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(object___init___obj, object___init__); STATIC mp_obj_t object___new__(mp_obj_t cls) { if (!mp_obj_is_type(cls, &mp_type_type) || !mp_obj_is_instance_type((mp_obj_type_t *)MP_OBJ_TO_PTR(cls))) { - // CIRCUITPY better error + // CIRCUITPY-CHANGE: better error mp_raise_TypeError(MP_ERROR_TEXT("__new__ arg must be a user-type")); } // This executes only "__new__" part of instance creation. diff --git a/py/objproperty.c b/py/objproperty.c index aa3a54aa0f..ee8d589b5e 100644 --- a/py/objproperty.c +++ b/py/objproperty.c @@ -31,7 +31,7 @@ #include "py/objproperty.h" #include "py/runtime.h" -// CIRCUITPY changes to reduce property proxy table size +// CIRCUITPY-CHANGE: changes to reduce property proxy table size // when possible #if MICROPY_PY_BUILTINS_PROPERTY diff --git a/py/objstr.c b/py/objstr.c index fae7ed0a6f..b624c35987 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -34,7 +34,7 @@ #include "py/runtime.h" #include "py/stackctrl.h" -// CIRCUITPY +// CIRCUITPY-CHANGE const char nibble_to_hex_upper[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; @@ -272,7 +272,7 @@ STATIC mp_obj_t bytes_make_new(const mp_obj_type_t *type_in, size_t n_args, size return mp_obj_new_bytes_from_vstr(&vstr); } - // CIRCUITPY + // CIRCUITPY-CHANGE // check if __bytes__ exists, and if so delegate to it mp_obj_t dest[2]; mp_load_method_maybe(args[0], MP_QSTR___bytes__, dest); @@ -381,7 +381,7 @@ mp_obj_t mp_obj_str_binary_op(mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs_i return mp_const_empty_bytes; } } - // CIRCUITPY: more careful checking of length + // CIRCUITPY-CHANGE: more careful checking of length size_t new_len = mp_seq_multiply_len(lhs_len, n); vstr_t vstr; vstr_init_len(&vstr, new_len); @@ -1024,7 +1024,7 @@ STATIC vstr_t mp_obj_str_format_helper(const char *str, const char *top, int *ar #if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE terse_str_format_value_error(); #else - // CIRCUITPY better error message + // CIRCUITPY-CHANGE: better error message mp_raise_ValueError_varg(MP_ERROR_TEXT("unmatched '%c' in format"), '}'); #endif } @@ -2179,7 +2179,7 @@ MP_DEFINE_CONST_DICT_WITH_SIZE(mp_obj_array_locals_dict, TABLE_ENTRIES_ARRAY); #endif -// CIRCUITPY: hex() but no cast() +// CIRCUITPY-CHANGE: hex() but no cast() #if MICROPY_PY_BUILTINS_MEMORYVIEW && MICROPY_PY_BUILTINS_BYTES_HEX && !MICROPY_CPYTHON_COMPAT MP_DEFINE_CONST_DICT_WITH_SIZE(mp_obj_memoryview_locals_dict, array_bytearray_str_bytes_locals_table + TABLE_ENTRIES_ARRAY, @@ -2342,7 +2342,7 @@ mp_obj_t mp_obj_new_bytes(const byte *data, size_t len) { return mp_obj_new_str_copy(&mp_type_bytes, data, len); } -// CIRCUITPY +// CIRCUITPY-CHANGE mp_obj_t mp_obj_new_bytes_of_zeros(size_t len) { vstr_t vstr; vstr_init_len(&vstr, len); diff --git a/py/objstr.h b/py/objstr.h index 810742a97f..bc3a36b5f8 100644 --- a/py/objstr.h +++ b/py/objstr.h @@ -29,7 +29,7 @@ #include "py/obj.h" #include "py/objarray.h" -// CIRCUITPY +// CIRCUITPY-CHANGE extern const char nibble_to_hex_upper[16]; extern const char nibble_to_hex_lower[16]; @@ -121,7 +121,7 @@ extern const mp_obj_dict_t mp_obj_bytearray_locals_dict; extern const mp_obj_dict_t mp_obj_array_locals_dict; #endif -// CIRCUITPY +// CIRCUITPY-CHANGE MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(bytes_decode_obj); MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_obj_bytes_hex_as_str_obj); diff --git a/py/objstrunicode.c b/py/objstrunicode.c index d878e1e060..8be6b5b0d0 100644 --- a/py/objstrunicode.c +++ b/py/objstrunicode.c @@ -73,7 +73,7 @@ STATIC void uni_print_quoted(const mp_print_t *print, const byte *str_data, uint mp_print_str(print, "\\r"); } else if (ch == '\t') { mp_print_str(print, "\\t"); - // CIRCUITPY difference: print printable Unicode chars + // CIRCUITPY-CHANGE: print printable Unicode chars } else if (ch <= 0x1f || (0x7f <= ch && ch <= 0xa0) || ch == 0xad) { mp_printf(print, "\\x%02x", ch); } else if ((0x2000 <= ch && ch <= 0x200f) || ch == 0x2028 || ch == 0x2029) { diff --git a/py/objtuple.c b/py/objtuple.c index 37a02a358f..cf678f43e1 100644 --- a/py/objtuple.c +++ b/py/objtuple.c @@ -165,7 +165,7 @@ mp_obj_t mp_obj_tuple_binary_op(mp_binary_op_t op, mp_obj_t lhs, mp_obj_t rhs) { if (n <= 0) { return mp_const_empty_tuple; } - // CIRCUITPY + // CIRCUITPY-CHANGE size_t new_len = mp_seq_multiply_len(o->len, n); mp_obj_tuple_t *s = MP_OBJ_TO_PTR(mp_obj_new_tuple(new_len, NULL)); mp_seq_multiply(o->items, sizeof(*o->items), o->len, n, s->items); diff --git a/py/objtuple.h b/py/objtuple.h index 6ba276459d..825f5868c4 100644 --- a/py/objtuple.h +++ b/py/objtuple.h @@ -50,7 +50,7 @@ mp_obj_t mp_obj_tuple_getiter(mp_obj_t o_in, mp_obj_iter_buf_t *iter_buf); extern const mp_obj_type_t mp_type_attrtuple; -// CIRCUITPY +// CIRCUITPY-CHANGE // Relies on gcc Variadic Macros and Statement Expressions #define MP_OBJ_NEW_TUPLE(...) ({mp_obj_t _z[] = {__VA_ARGS__}; mp_obj_new_tuple(MP_ARRAY_SIZE(_z), _z);}) diff --git a/py/objtype.c b/py/objtype.c index e39b1e32a4..8716c7cc12 100644 --- a/py/objtype.c +++ b/py/objtype.c @@ -82,7 +82,7 @@ STATIC int instance_count_native_bases(const mp_obj_type_t *type, const mp_obj_t } } -// CIRCUITPY differences +// CIRCUITPY-CHANGE: differences // This wrapper function is allows a subclass of a native type to call the // __init__() method (corresponding to type->make_new) of the native type. STATIC mp_obj_t native_base_init_wrapper(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { @@ -128,7 +128,7 @@ mp_obj_instance_t *mp_obj_new_instance(const mp_obj_type_t *class, const mp_obj_ return o; } -// CIRCUITPY +// CIRCUITPY-CHANGE // When instances are first created they have the base_init wrapper as their native parent's // instance because make_new combines __new__ and __init__. This object is invalid for the native // code so it must call this method to ensure that the given object has been __init__'d and is @@ -303,7 +303,7 @@ STATIC void instance_print(const mp_print_t *print, mp_obj_t self_in, mp_print_k } // TODO: CPython prints fully-qualified type name - // CIRCUITPY: use qstr + // CIRCUITPY-CHANGE: use qstr mp_printf(print, "<%q object at %p>", mp_obj_get_type_qstr(self_in), self); } @@ -732,7 +732,7 @@ STATIC bool mp_obj_instance_store_attr(mp_obj_t self_in, qstr attr, mp_obj_t val // would be called by the descriptor code down below. But that way // requires overhead for the nested mp_call's and overhead for // the code. - // CIRCUITPY: variable number of proxies + // CIRCUITPY-CHANGE: variable number of proxies size_t n_proxy; const mp_obj_t *proxy = mp_obj_property_get(member[0], &n_proxy); mp_obj_t dest[2] = {self_in, value}; @@ -1347,7 +1347,7 @@ STATIC void super_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) { // Looked up native __init__ so defer to it dest[0] = MP_OBJ_FROM_PTR(&native_base_init_wrapper_obj); dest[1] = self->obj; - // CIRCUITPY better support for properties + // CIRCUITPY-CHANGE: better support for properties } else { mp_obj_t member = dest[0]; // changes to mp_obj_instance_load_attr may require changes diff --git a/py/objtype.h b/py/objtype.h index d30d5f60de..07a8e1cffd 100644 --- a/py/objtype.h +++ b/py/objtype.h @@ -52,7 +52,7 @@ mp_obj_t mp_obj_instance_call(mp_obj_t self_in, size_t n_args, size_t n_kw, cons // this needs to be exposed for mp_getiter mp_obj_t mp_obj_instance_getiter(mp_obj_t self_in, mp_obj_iter_buf_t *iter_buf); -// CIRCUITPY addition +// CIRCUITPY-CHANGE: addition void mp_obj_assert_native_inited(mp_obj_t native_object); #endif // MICROPY_INCLUDED_PY_OBJTYPE_H diff --git a/py/parse.c b/py/parse.c index 72ca7c4f38..a430f82578 100644 --- a/py/parse.c +++ b/py/parse.c @@ -252,7 +252,7 @@ STATIC const uint16_t *get_rule_arg(uint8_t r_id) { return &rule_arg_combined_table[off]; } -// CIRCUITPY ignore compiler warning +// CIRCUITPY-CHANGE: ignore compiler warning #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-align" @@ -1038,7 +1038,7 @@ mp_parse_tree_t mp_parse(mp_lexer_t *lex, mp_parse_input_kind_t input_kind) { parser.rule_stack_alloc = MICROPY_ALLOC_PARSE_RULE_INIT; parser.rule_stack_top = 0; - // CIRCUITPY make parsing more memory flexible + // CIRCUITPY-CHANGE: make parsing more memory flexible // https://github.com/adafruit/circuitpython/pull/552 parser.rule_stack = NULL; while (parser.rule_stack_alloc > 1) { diff --git a/py/parsenum.c b/py/parsenum.c index 796eaf8113..68f7417c0b 100644 --- a/py/parsenum.c +++ b/py/parsenum.c @@ -53,7 +53,7 @@ mp_obj_t mp_parse_num_integer(const char *restrict str_, size_t len, int base, m mp_obj_t ret_val; // check radix base - // CIRCUITPY use validator + // CIRCUITPY-CHANGE: use validator if (base != 0) { // this won't be reached if lex!=NULL mp_arg_validate_int_range(base, 2, 36, MP_QSTR_base); diff --git a/py/persistentcode.c b/py/persistentcode.c index 65e08d1421..3a9772cd1b 100644 --- a/py/persistentcode.c +++ b/py/persistentcode.c @@ -87,7 +87,7 @@ void mp_native_relocate(void *ri_in, uint8_t *text, uintptr_t reloc_text) { size_t addr = read_uint(ri->reader); if ((addr & 1) == 0) { // Point to somewhere in text - // CIRCUITPY avoid compiler warnings + // CIRCUITPY-CHANGE: avoid compiler warnings #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-align" addr_to_adjust = &((uintptr_t *)text)[addr >> 1]; @@ -405,7 +405,7 @@ void mp_raw_code_load(mp_reader_t *reader, mp_compiled_module_t *cm) { byte header[4]; read_bytes(reader, header, sizeof(header)); byte arch = MPY_FEATURE_DECODE_ARCH(header[2]); - // CIRCUITPY: 'C', not 'M' + // CIRCUITPY-CHANGE: 'C', not 'M' if (header[0] != 'C' || header[1] != MPY_VERSION || (arch != MP_NATIVE_ARCH_NONE && MPY_FEATURE_DECODE_SUB_VERSION(header[2]) != MPY_SUB_VERSION) diff --git a/py/py.mk b/py/py.mk index 4fb54fd2fe..25a36a59b7 100644 --- a/py/py.mk +++ b/py/py.mk @@ -7,7 +7,7 @@ HEADER_BUILD = $(BUILD)/genhdr # file containing qstr defs for the core Python bit PY_QSTR_DEFS = $(PY_SRC)/qstrdefs.h -# CIRCUITPY +# CIRCUITPY-CHANGE TRANSLATION ?= en_US # If qstr autogeneration is not disabled we specify the output header @@ -75,7 +75,7 @@ PY_O += $(addprefix $(BUILD)/, $(SRC_USERMOD_PATHFIX_LIB_C:.c=.o)) PY_O += $(addprefix $(BUILD)/, $(SRC_USERMOD_PATHFIX_LIB_CXX:.cpp=.o)) endif # USER_C_MODULES -# CIRCUITPY +# CIRCUITPY-CHANGE ifeq ($(CIRCUITPY_ULAB),1) ULAB_SRCS := $(shell find $(TOP)/extmod/ulab/code -type f -name "*.c") ULAB_SRC_PATHFIX := $(patsubst $(TOP)/%,%,$(ULAB_SRCS)) @@ -255,7 +255,7 @@ $(HEADER_BUILD)/compressed.data.h: $(HEADER_BUILD)/compressed.collected $(ECHO) "GEN $@" $(Q)$(PYTHON) $(PY_SRC)/makecompresseddata.py $< > $@ -# CIRCUITPY: for translations +# CIRCUITPY-CHANGE: for translations $(HEADER_BUILD)/$(TRANSLATION).mo: $(TOP)/locale/$(TRANSLATION).po | $(HEADER_BUILD) $(Q)$(PYTHON) $(TOP)/tools/msgfmt.py -o $@ $^ @@ -293,7 +293,7 @@ $(BUILD)/shared/libc/string0.o: CFLAGS += $(CFLAGS_BUILTIN) # that the function preludes are of a minimal and predictable form. $(PY_BUILD)/nlr%.o: CFLAGS += -Os -# CIRCUITPY: separate SUPEROPT for gc.o and vm.o +# CIRCUITPY-CHANGE: separate SUPEROPT for gc.o and vm.o # optimising gc for speed; 5ms down to 4ms on pybv2 ifndef SUPEROPT_GC SUPEROPT_GC = 1 diff --git a/py/qstr.c b/py/qstr.c index 47566af1e5..420774e353 100644 --- a/py/qstr.c +++ b/py/qstr.c @@ -33,7 +33,7 @@ #include "py/gc.h" #include "py/runtime.h" -// CIRCUITPY changes for TRANSLATION +// CIRCUITPY-CHANGE: changes for TRANSLATION // NOTE: we are using linear arrays to store and search for qstr's (unique strings, interned strings) // ultimately we will replace this with a static hash table of some kind @@ -121,7 +121,7 @@ extern const qstr_pool_t MICROPY_QSTR_EXTRA_POOL; #define CONST_POOL mp_qstr_const_pool #endif -// CIRCUITPY +// CIRCUITPY-CHANGE void qstr_reset(void) { MP_STATE_VM(last_pool) = (qstr_pool_t *)&CONST_POOL; // we won't modify the const_pool since it has no allocated room left MP_STATE_VM(qstr_last_chunk) = NULL; diff --git a/py/qstr.h b/py/qstr.h index 64c6a5f78b..3d4ec1fcd4 100644 --- a/py/qstr.h +++ b/py/qstr.h @@ -39,7 +39,7 @@ enum { #ifndef NO_QSTR #define QDEF(id, hash, len, str) id, -// CIRCUITPY +// CIRCUITPY-CHANGE #define TRANSLATION(english_id, number) #include "genhdr/qstrdefs.generated.h" #undef QDEF diff --git a/py/qstrdefs.h b/py/qstrdefs.h index 4971a9acf2..01e784efc3 100644 --- a/py/qstrdefs.h +++ b/py/qstrdefs.h @@ -35,7 +35,7 @@ QCFG(BYTES_IN_LEN, MICROPY_QSTR_BYTES_IN_LEN) QCFG(BYTES_IN_HASH, MICROPY_QSTR_BYTES_IN_HASH) -// CIRCUITPY translatable messages removed +// CIRCUITPY-CHANGE: translatable messages removed Q() Q(*) diff --git a/py/ringbuf.c b/py/ringbuf.c index 2906ebd0a2..2edced9cf9 100644 --- a/py/ringbuf.c +++ b/py/ringbuf.c @@ -26,7 +26,7 @@ * THE SOFTWARE. */ -// CIRCUITPY thoroughly reworked +// CIRCUITPY-CHANGE: thoroughly reworked #include "ringbuf.h" diff --git a/py/ringbuf.h b/py/ringbuf.h index a6048bb1d2..e6ba800c59 100644 --- a/py/ringbuf.h +++ b/py/ringbuf.h @@ -31,7 +31,7 @@ #include #include -// CIRCUITPY thoroughly reworked +// CIRCUITPY-CHANGE: thoroughly reworked typedef struct _ringbuf_t { uint8_t *buf; diff --git a/py/runtime.c b/py/runtime.c index da1f13bb6a..0f13295a92 100644 --- a/py/runtime.c +++ b/py/runtime.c @@ -89,7 +89,7 @@ void mp_init(void) { #if MICROPY_KBD_EXCEPTION // initialise the exception object for raising KeyboardInterrupt - // CIRCUITPY chained exception support + // CIRCUITPY-CHANGE: chained exception support mp_obj_exception_initialize0(&MP_STATE_VM(mp_kbd_exception), &mp_type_KeyboardInterrupt); #endif @@ -134,7 +134,7 @@ void mp_init(void) { } #endif - // CIRCUITPY: do not unmount / + // CIRCUITPY-CHANGE: do not unmount / #if MICROPY_VFS && 0 // initialise the VFS sub-system MP_STATE_VM(vfs_cur) = NULL; @@ -248,7 +248,7 @@ mp_obj_t MICROPY_WRAP_MP_LOAD_GLOBAL(mp_load_global)(qstr qst) { return elem->value; } -// CIRCUITPY noinline +// CIRCUITPY-CHANGE: noinline // https://github.com/adafruit/circuitpython/pull/8071 mp_obj_t __attribute__((noinline)) mp_load_build_class(void) { DEBUG_OP_printf("load_build_class\n"); @@ -950,7 +950,7 @@ mp_obj_t mp_call_method_n_kw_var(bool have_self, size_t n_args_n_kw, const mp_ob } // unpacked items are stored in reverse order into the array pointed to by items -// CIRCUITPY noline +// CIRCUITPY-CHANGE: noline void __attribute__((noinline, )) mp_unpack_sequence(mp_obj_t seq_in, size_t num, mp_obj_t *items) { size_t seq_len; if (mp_obj_is_type(seq_in, &mp_type_tuple) || mp_obj_is_type(seq_in, &mp_type_list)) { @@ -998,7 +998,7 @@ too_long: } // unpacked items are stored in reverse order into the array pointed to by items -// CIRCUITPY noinline +// CIRCUITPY-CHANGE: noinline void __attribute__((noinline)) mp_unpack_ex(mp_obj_t seq_in, size_t num_in, mp_obj_t *items) { size_t num_left = num_in & 0xff; size_t num_right = (num_in >> 8) & 0xff; @@ -1164,7 +1164,7 @@ void mp_convert_member_lookup(mp_obj_t self, const mp_obj_type_t *type, mp_obj_t } dest[0] = ((mp_obj_static_class_method_t *)MP_OBJ_TO_PTR(member))->fun; dest[1] = MP_OBJ_FROM_PTR(type); - // CIRCUITPY + // CIRCUITPY-CHANGE // https://github.com/adafruit/circuitpython/commit/8fae7d2e3024de6336affc4b2a8fa992c946e017 #if MICROPY_PY_BUILTINS_PROPERTY // If self is MP_OBJ_NULL, we looking at the class itself, not an instance. @@ -1297,7 +1297,7 @@ void mp_store_attr(mp_obj_t base, qstr attr, mp_obj_t value) { // success return; } - // CIRCUITPY https://github.com/adafruit/circuitpython/pull/50 + // CIRCUITPY-CHANGE: https://github.com/adafruit/circuitpython/pull/50 #if MICROPY_PY_BUILTINS_PROPERTY } else if (MP_OBJ_TYPE_HAS_SLOT(type, locals_dict)) { // generic method lookup @@ -1334,7 +1334,7 @@ void mp_store_attr(mp_obj_t base, qstr attr, mp_obj_t value) { mp_raise_AttributeError(MP_ERROR_TEXT("no such attribute")); #else mp_raise_msg_varg(&mp_type_AttributeError, - // CIRCUITPY better error message + // CIRCUITPY-CHANGE: better error message MP_ERROR_TEXT("can't set attribute '%q'"), attr); #endif @@ -1393,7 +1393,7 @@ mp_obj_t mp_getiter(mp_obj_t o_in, mp_obj_iter_buf_t *iter_buf) { STATIC mp_fun_1_t type_get_iternext(const mp_obj_type_t *type) { if ((type->flags & MP_TYPE_FLAG_ITER_IS_STREAM) == MP_TYPE_FLAG_ITER_IS_STREAM) { - // CIRCUITPY: unneeded declaration + // CIRCUITPY-CHANGE: unneeded declaration // mp_obj_t mp_stream_unbuffered_iter(mp_obj_t self); return mp_stream_unbuffered_iter; } else if (type->flags & MP_TYPE_FLAG_ITER_IS_ITERNEXT) { @@ -1471,7 +1471,7 @@ mp_vm_return_kind_t mp_resume(mp_obj_t self_in, mp_obj_t send_value, mp_obj_t th assert((send_value != MP_OBJ_NULL) ^ (throw_value != MP_OBJ_NULL)); const mp_obj_type_t *type = mp_obj_get_type(self_in); - // CIRCUITPY distinguishes generators and coroutines. + // CIRCUITPY-CHANGE: distinguishes generators and coroutines. if (type == &mp_type_gen_instance #if MICROPY_PY_ASYNC_AWAIT || type == &mp_type_coro_instance @@ -1597,7 +1597,7 @@ mp_obj_t mp_import_name(qstr name, mp_obj_t fromlist, mp_obj_t level) { return mp_builtin___import__(5, args); } -// CIRCUITPY noinline +// CIRCUITPY-CHANGE: noinline mp_obj_t __attribute__((noinline, )) mp_import_from(mp_obj_t module, qstr name) { DEBUG_printf("import from %p %s\n", module, qstr_str(name)); @@ -1702,7 +1702,7 @@ mp_obj_t mp_parse_compile_execute(mp_lexer_t *lex, mp_parse_input_kind_t parse_i #endif // MICROPY_ENABLE_COMPILER -// CIRCUITPY MP_COLD are CIRCUITPY +// CIRCUITPY-CHANGE: MP_COLD are CIRCUITPY NORETURN MP_COLD void m_malloc_fail(size_t num_bytes) { DEBUG_printf("memory allocation failed, allocating %u bytes\n", (uint)num_bytes); #if MICROPY_ENABLE_GC diff --git a/py/runtime.h b/py/runtime.h index 9587022041..3cb2881eb2 100644 --- a/py/runtime.h +++ b/py/runtime.h @@ -31,7 +31,7 @@ #include "py/mpstate.h" #include "py/pystack.h" -// CIRCUITPY +// CIRCUITPY-CHANGE #include "supervisor/linker.h" #include "supervisor/shared/translate/translate.h" @@ -127,7 +127,7 @@ void mp_arg_parse_all_kw_array(size_t n_pos, size_t n_kw, const mp_obj_t *args, NORETURN void mp_arg_error_terse_mismatch(void); NORETURN void mp_arg_error_unimpl_kw(void); -// CIRCUITPY arg validation routines +// CIRCUITPY-CHANGE: arg validation routines NORETURN void mp_arg_error_invalid(qstr arg_name); mp_int_t mp_arg_validate_int(mp_int_t i, mp_int_t required_i, qstr arg_name); mp_int_t mp_arg_validate_int_min(mp_int_t i, mp_int_t min, qstr arg_name); diff --git a/py/runtime0.h b/py/runtime0.h index d5ea4ddaab..abb8fd03d7 100644 --- a/py/runtime0.h +++ b/py/runtime0.h @@ -35,7 +35,7 @@ #define MP_SCOPE_FLAG_VARKEYWORDS (0x02) #define MP_SCOPE_FLAG_VARARGS (0x04) #define MP_SCOPE_FLAG_DEFKWARGS (0x08) -// CIRCUITPY +// CIRCUITPY-CHANGE #define MP_SCOPE_FLAG_ASYNC (0x10) #define MP_SCOPE_FLAG_REFGLOBALS (0x20) // used only if native emitter enabled #define MP_SCOPE_FLAG_HASCONSTS (0x40) // used only if native emitter enabled diff --git a/py/scheduler.c b/py/scheduler.c index 33cef16777..d80dc9d927 100644 --- a/py/scheduler.c +++ b/py/scheduler.c @@ -46,7 +46,7 @@ void MICROPY_WRAP_MP_SCHED_EXCEPTION(mp_sched_exception)(mp_obj_t exc) { #if MICROPY_KBD_EXCEPTION // This function may be called asynchronously at any time so only do the bare minimum. void MICROPY_WRAP_MP_SCHED_KEYBOARD_INTERRUPT(mp_sched_keyboard_interrupt)(void) { - // CIRCUITPY + // CIRCUITPY-CHANGE MP_STATE_VM(mp_kbd_exception).traceback = (mp_obj_traceback_t *)&mp_const_empty_traceback_obj; mp_sched_exception(MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception))); } diff --git a/py/stackctrl.c b/py/stackctrl.c index fe0f43e3c1..14e60380dd 100644 --- a/py/stackctrl.c +++ b/py/stackctrl.c @@ -28,7 +28,7 @@ #include "py/stackctrl.h" void mp_stack_ctrl_init(void) { - // CIRCUITPY: Force routine to not be inlined. Better guarantee than MP_NOINLINE for -flto. + // CIRCUITPY-CHANGE: Force routine to not be inlined. Better guarantee than MP_NOINLINE for -flto. __asm volatile (""); #if __GNUC__ >= 13 #pragma GCC diagnostic push @@ -47,7 +47,7 @@ void mp_stack_set_top(void *top) { mp_uint_t PLACE_IN_ITCM(mp_stack_usage)(void) { // Assumes descending stack - // CIRCUITPY: Force routine to not be inlined. Better guarantee than MP_NOINLINE for -flto. + // CIRCUITPY-CHANGE: Force routine to not be inlined. Better guarantee than MP_NOINLINE for -flto. __asm volatile (""); volatile int stack_dummy; return MP_STATE_THREAD(stack_top) - (char *)&stack_dummy; diff --git a/py/stream.h b/py/stream.h index 9bdb5e8390..cd9d179af2 100644 --- a/py/stream.h +++ b/py/stream.h @@ -28,7 +28,7 @@ #define MICROPY_INCLUDED_PY_STREAM_H #include "py/obj.h" -// CIRCUITPY +// CIRCUITPY-CHANGE #include "py/proto.h" #include "py/mperrno.h" @@ -69,7 +69,7 @@ struct mp_stream_seek_t { // Stream protocol typedef struct _mp_stream_p_t { - // CIRCUITPY + // CIRCUITPY-CHANGE MP_PROTOCOL_HEAD // On error, functions should return MP_STREAM_ERROR and fill in *errcode (values // are implementation-dependent, but will be exposed to user, e.g. via exception). @@ -123,7 +123,7 @@ mp_uint_t mp_stream_rw(mp_obj_t stream, void *buf, mp_uint_t size, int *errcode, #define mp_stream_read_exactly(stream, buf, size, err) mp_stream_rw(stream, buf, size, err, MP_STREAM_RW_READ) void mp_stream_write_adaptor(void *self, const char *buf, size_t len); - // CIRCUITPY + // CIRCUITPY-CHANGE mp_obj_t mp_stream_flush(mp_obj_t self); #if MICROPY_STREAMS_POSIX_API diff --git a/py/vm.c b/py/vm.c index 950425c877..8ccf9631b4 100644 --- a/py/vm.c +++ b/py/vm.c @@ -195,7 +195,7 @@ #define TRACE_TICK(current_ip, current_sp, is_exception) #endif // MICROPY_PY_SYS_SETTRACE -// CIRCUITPY +// CIRCUITPY-CHANGE STATIC mp_obj_t get_active_exception(mp_exc_stack_t *exc_sp, mp_exc_stack_t *exc_stack) { for (mp_exc_stack_t *e = exc_sp; e >= exc_stack; --e) { if (e->prev_exc != NULL) { @@ -237,7 +237,7 @@ mp_vm_return_kind_t MICROPY_WRAP_MP_EXECUTE_BYTECODE(mp_execute_bytecode)(mp_cod #endif #if MICROPY_OPT_COMPUTED_GOTO #include "py/vmentrytable.h" - // CIRCUITPY + // CIRCUITPY-CHANGE #if MICROPY_OPT_COMPUTED_GOTO_SAVE_SPACE #define ONE_TRUE_DISPATCH() one_true_dispatch : do { \ TRACE(ip); \ @@ -328,7 +328,7 @@ outer_dispatch_loop: for (;;) { dispatch_loop: #if MICROPY_OPT_COMPUTED_GOTO - // CIRCUITPY + // CIRCUITPY-CHANGE ONE_TRUE_DISPATCH(); #else TRACE(ip); @@ -1061,7 +1061,7 @@ unwind_jump:; } #endif SET_TOP(mp_call_method_n_kw(unum & 0xff, (unum >> 8) & 0xff, sp)); - // CIRCUITPY + // CIRCUITPY-CHANGE DISPATCH_WITH_PEND_EXC_CHECK(); } @@ -1172,7 +1172,7 @@ unwind_return: ENTRY(MP_BC_RAISE_LAST): { MARK_EXC_IP_SELECTIVE(); // search for the inner-most previous exception, to reraise it - // CIRCUITPY + // CIRCUITPY-CHANGE mp_obj_t obj = get_active_exception(exc_sp, exc_stack); if (obj == MP_OBJ_NULL) { obj = mp_obj_new_exception_msg(&mp_type_RuntimeError, MP_ERROR_TEXT("no active exception to reraise")); @@ -1183,7 +1183,7 @@ unwind_return: ENTRY(MP_BC_RAISE_OBJ): { MARK_EXC_IP_SELECTIVE(); mp_obj_t obj = mp_make_raise_obj(TOP()); - // CIRCUITPY + // CIRCUITPY-CHANGE #if MICROPY_CPYTHON_EXCEPTION_CHAIN mp_obj_t active_exception = get_active_exception(exc_sp, exc_stack); if (active_exception != MP_OBJ_NULL && active_exception != obj) { @@ -1195,7 +1195,7 @@ unwind_return: ENTRY(MP_BC_RAISE_FROM): { MARK_EXC_IP_SELECTIVE(); - // CIRCUITPY + // CIRCUITPY-CHANGE mp_obj_t cause = POP(); mp_obj_t obj = mp_make_raise_obj(TOP()); #if MICROPY_CPYTHON_EXCEPTION_CHAIN @@ -1445,7 +1445,7 @@ unwind_loop: // - exceptions re-raised by END_FINALLY // - exceptions re-raised explicitly by "raise" if ( true - // CIRCUITPY + // CIRCUITPY-CHANGE #if MICROPY_CONST_GENERATOREXIT_OBJ && nlr.ret_val != &mp_const_GeneratorExit_obj #endif diff --git a/py/vstr.c b/py/vstr.c index 3b62bce22f..46d1a0b9e8 100644 --- a/py/vstr.c +++ b/py/vstr.c @@ -51,7 +51,7 @@ void vstr_init(vstr_t *vstr, size_t alloc) { // Init the vstr so it allocs exactly enough ram to hold a null-terminated // string of the given length, and set the length. void vstr_init_len(vstr_t *vstr, size_t len) { - // CIRCUITPY + // CIRCUITPY-CHANGE if (len == SIZE_MAX) { m_malloc_fail(len); } diff --git a/shared/libc/string0.c b/shared/libc/string0.c index c45d3e4893..b0a2620300 100644 --- a/shared/libc/string0.c +++ b/shared/libc/string0.c @@ -34,7 +34,7 @@ #define likely(x) __builtin_expect((x), 1) #endif -// CIRCUITPY avoid compiler warnings +// CIRCUITPY-CHANGE: avoid compiler warnings #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-align" void *memcpy(void *dst, const void *src, size_t n) { @@ -75,7 +75,7 @@ void *memcpy(void *dst, const void *src, size_t n) { return dst; } -// CIRCUITPY extern +// CIRCUITPY-CHANGE: extern extern void *__memcpy_chk(void *dest, const void *src, size_t len, size_t slen); void *__memcpy_chk(void *dest, const void *src, size_t len, size_t slen) { if (len > slen) { diff --git a/shared/readline/readline.c b/shared/readline/readline.c index 4060c6412f..2f8180b226 100644 --- a/shared/readline/readline.c +++ b/shared/readline/readline.c @@ -40,7 +40,7 @@ #define DEBUG_printf(...) (void)0 #endif -// CIRCUITPY a number of changes +// CIRCUITPY-CHANGE: a number of changes #define READLINE_HIST_SIZE (MP_ARRAY_SIZE(MP_STATE_PORT(readline_hist))) diff --git a/shared/readline/readline.h b/shared/readline/readline.h index cc77a89dac..0764daa62c 100644 --- a/shared/readline/readline.h +++ b/shared/readline/readline.h @@ -26,7 +26,7 @@ #ifndef MICROPY_INCLUDED_LIB_MP_READLINE_READLINE_H #define MICROPY_INCLUDED_LIB_MP_READLINE_READLINE_H -// CIRCUITPY: a number of changes +// CIRCUITPY-CHANGE: a number of changes #include "py/misc.h" diff --git a/shared/runtime/interrupt_char.c b/shared/runtime/interrupt_char.c index eb5470f96a..a70255721b 100644 --- a/shared/runtime/interrupt_char.c +++ b/shared/runtime/interrupt_char.c @@ -36,7 +36,7 @@ void mp_hal_set_interrupt_char(int c) { mp_interrupt_char = c; } -// CIRCUITPY +// CIRCUITPY-CHANGE // Check to see if we've been CTRL-C'ed by autoreload or the user. bool mp_hal_is_interrupted(void) { return MP_STATE_THREAD(mp_pending_exception) != MP_OBJ_FROM_PTR(NULL); diff --git a/shared/runtime/interrupt_char.h b/shared/runtime/interrupt_char.h index bca8b63417..6d9fe63453 100644 --- a/shared/runtime/interrupt_char.h +++ b/shared/runtime/interrupt_char.h @@ -26,7 +26,7 @@ #ifndef MICROPY_INCLUDED_LIB_UTILS_INTERRUPT_CHAR_H #define MICROPY_INCLUDED_LIB_UTILS_INTERRUPT_CHAR_H -// CIRCUITPY changes +// CIRCUITPY-CHANGE: various changes #include extern int mp_interrupt_char; diff --git a/shared/runtime/pyexec.c b/shared/runtime/pyexec.c index ed35241bda..c65ba8de5f 100644 --- a/shared/runtime/pyexec.c +++ b/shared/runtime/pyexec.c @@ -44,7 +44,7 @@ #include "shared/runtime/pyexec.h" #include "genhdr/mpversion.h" -// CIRCUITPY multiple changes for atexit(), interrupts +// CIRCUITPY-CHANGE: multiple changes for atexit(), interrupts #if CIRCUITPY_ATEXIT #include "shared-module/atexit/__init__.h" diff --git a/shared/runtime/pyexec.h b/shared/runtime/pyexec.h index 7f855169e4..b980ef66a5 100644 --- a/shared/runtime/pyexec.h +++ b/shared/runtime/pyexec.h @@ -28,7 +28,7 @@ #include "py/obj.h" -// CIRCUITPY multiple changes +// CIRCUITPY-CHANGE: multiple changes typedef enum { PYEXEC_MODE_FRIENDLY_REPL, diff --git a/shared/runtime/stdout_helpers.c b/shared/runtime/stdout_helpers.c index c88b496517..e32aa342e4 100644 --- a/shared/runtime/stdout_helpers.c +++ b/shared/runtime/stdout_helpers.c @@ -35,7 +35,7 @@ * implementation below can be used. */ -// CIRCUITPY changes +// CIRCUITPY-CHANGE: changes // Send "cooked" string of given length, where every occurrence of // LF character is replaced with CR LF. void mp_hal_stdout_tx_strn_cooked(const char *str, size_t len) { diff --git a/tests/basics/special_methods.py b/tests/basics/special_methods.py index 4afc60f3f3..3f846b23c2 100644 --- a/tests/basics/special_methods.py +++ b/tests/basics/special_methods.py @@ -37,11 +37,11 @@ class Cud(): def __floordiv__(self, other): print("__floordiv__ called") - # CIRCUITPY + # CIRCUITPY-CHANGE def __index__(self, other): print("__index__ called") - # CIRCUITPY + # CIRCUITPY-CHANGE def __inv__(self): print("__inv__ called") diff --git a/tests/basics/struct1.py b/tests/basics/struct1.py index 4342e49640..39d1bef05c 100644 --- a/tests/basics/struct1.py +++ b/tests/basics/struct1.py @@ -125,7 +125,7 @@ try: except: print('struct.error') -# CIRCUITPY +# CIRCUITPY-CHANGE # check padding bytes print(struct.pack("xb", 3)) # Make sure pack doesn't reuse a larger value and error diff --git a/tests/basics/sys1.py b/tests/basics/sys1.py index 6c427dffb6..c007b5ebdf 100644 --- a/tests/basics/sys1.py +++ b/tests/basics/sys1.py @@ -13,7 +13,7 @@ except AttributeError: print(True) try: - # CIRCUITPY + # CIRCUITPY-CHANGE print(sys.implementation.name in ('cpython', 'micropython', 'circuitpython')) except AttributeError: # Effectively skip subtests diff --git a/tests/extmod/asyncio_basic.py b/tests/extmod/asyncio_basic.py index 584e10c131..f716bef26b 100644 --- a/tests/extmod/asyncio_basic.py +++ b/tests/extmod/asyncio_basic.py @@ -4,7 +4,7 @@ except ImportError: print("SKIP") raise SystemExit -# CIRCUITPY provides __await()__ +# CIRCUITPY-CHANGE: CircuitPython provides __await__() async def foo(): return 42 diff --git a/tests/extmod/asyncio_event_fair.py b/tests/extmod/asyncio_event_fair.py index 9ef63c9f16..d8f398dbcb 100644 --- a/tests/extmod/asyncio_event_fair.py +++ b/tests/extmod/asyncio_event_fair.py @@ -8,7 +8,7 @@ except ImportError: raise SystemExit -# CIRCUITPY provides __await__() +# CIRCUITPY-CHANGE: CircuitPython provides __await__() async def foo(): return 42 diff --git a/tests/extmod/asyncio_gather.py b/tests/extmod/asyncio_gather.py index 5f3a84c1f3..bb16db381f 100644 --- a/tests/extmod/asyncio_gather.py +++ b/tests/extmod/asyncio_gather.py @@ -7,7 +7,7 @@ except ImportError: raise SystemExit -# CIRCUITPY provides __await__() +# CIRCUITPY-CHANGE: CircuitPython provides __await__() async def foo(): return 42 diff --git a/tests/extmod/asyncio_gather_notimpl.py b/tests/extmod/asyncio_gather_notimpl.py index 91b26362d0..5e4cc44a4a 100644 --- a/tests/extmod/asyncio_gather_notimpl.py +++ b/tests/extmod/asyncio_gather_notimpl.py @@ -7,7 +7,7 @@ except ImportError: raise SystemExit -# CIRCUITPY provides __await__() +# CIRCUITPY-CHANGE: CircuitPython provides __await__() async def foo(): return 42 diff --git a/tests/extmod/asyncio_lock_cancel.py b/tests/extmod/asyncio_lock_cancel.py index 87e82219b7..27fe108b0e 100644 --- a/tests/extmod/asyncio_lock_cancel.py +++ b/tests/extmod/asyncio_lock_cancel.py @@ -7,7 +7,7 @@ except ImportError: raise SystemExit -# CIRCUITPY provides __await__() +# CIRCUITPY-CHANGE: CircuitPython provides __await__() async def foo(): return 42 diff --git a/tests/extmod/asyncio_threadsafeflag.py b/tests/extmod/asyncio_threadsafeflag.py index abb55930ce..846a23d0bb 100644 --- a/tests/extmod/asyncio_threadsafeflag.py +++ b/tests/extmod/asyncio_threadsafeflag.py @@ -11,7 +11,7 @@ import micropython try: micropython.schedule - # CIRCUITPY: no ThreadSafeFlag + # CIRCUITPY-CHANGE: no ThreadSafeFlag asyncio.ThreadSafeFlag except AttributeError: print("SKIP") diff --git a/tests/extmod/asyncio_wait_for_fwd.py b/tests/extmod/asyncio_wait_for_fwd.py index 6e1bff2b51..fd7dc6ff3d 100644 --- a/tests/extmod/asyncio_wait_for_fwd.py +++ b/tests/extmod/asyncio_wait_for_fwd.py @@ -7,7 +7,7 @@ except ImportError: raise SystemExit -# CIRCUITPY provides __await__() +# CIRCUITPY-CHANGE: CircuitPython provides __await__() async def foo(): return 42 diff --git a/tests/extmod/vfs_fat_fileio2.py b/tests/extmod/vfs_fat_fileio2.py index 0e3808c314..4059ec337d 100644 --- a/tests/extmod/vfs_fat_fileio2.py +++ b/tests/extmod/vfs_fat_fileio2.py @@ -67,7 +67,7 @@ try: except OSError as e: print(e.errno == errno.ENOENT) -# CIRCUITPY test +# CIRCUITPY-CHANGE: test try: vfs.rename("foo_dir", "foo_dir/inside_itself") except OSError as e: diff --git a/tests/micropython/emg_exc.py b/tests/micropython/emg_exc.py index 43b9044d19..a74757d028 100644 --- a/tests/micropython/emg_exc.py +++ b/tests/micropython/emg_exc.py @@ -24,7 +24,7 @@ def f(): exc = er micropython.heap_unlock() - # CIRCUITPY + # CIRCUITPY-CHANGE print(repr(exc)) diff --git a/tests/run-tests.py b/tests/run-tests.py index 6b3d130ae5..86a35ebc3a 100755 --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -623,7 +623,7 @@ def run_tests(pyb, tests, args, result_dir, num_threads=1): skip_tests.add("basics/sys_tracebacklimit.py") # requires traceback info skip_tests.add("basics/try_finally_return2.py") # requires raise_varargs skip_tests.add("basics/unboundlocal.py") # requires checking for unbound local - # CIRCUITPY + # CIRCUITPY-CHANGE skip_tests.update( ( "basics/chained_exception.py", @@ -714,7 +714,7 @@ def run_tests(pyb, tests, args, result_dir, num_threads=1): with open(test_file_expected, "rb") as f: output_expected = f.read() else: - # CIRCUITPY: set language & make sure testlib is available for `skip_ok`. + # CIRCUITPY-CHANGE: set language & make sure testlib is available for `skip_ok`. e = {"PYTHONPATH": "testlib", "PATH": os.environ["PATH"], "LANG": "en_US.UTF-8"} # run CPython to work out expected output try: diff --git a/tools/mpy-tool.py b/tools/mpy-tool.py index e2ebc18ae2..e3901473c7 100755 --- a/tools/mpy-tool.py +++ b/tools/mpy-tool.py @@ -328,7 +328,7 @@ class Opcode: self.extra_arg = extra_arg -# CIRCUITPY: we assume MICROPY_OBJ_REPR_C +# CIRCUITPY-CHANGE: we assume MICROPY_OBJ_REPR_C def mp_small_int_fits(i): return -0x4_000_000 <= i <= 0x3_FFF_FFF