Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
e973acde
Commit
e973acde
authored
Jun 25, 2014
by
Damien George
Browse files
Merge branch 'master' of github.com:micropython/micropython
parents
780e54cd
939c2e7f
Changes
100
Hide whitespace changes
Inline
Side-by-side
bare-arm/Makefile
View file @
e973acde
...
...
@@ -13,7 +13,7 @@ INC += -I$(PY_SRC)
INC
+=
-I
$(BUILD)
CFLAGS_CORTEX_M4
=
-mthumb
-mtune
=
cortex-m4
-mabi
=
aapcs-linux
-mcpu
=
cortex-m4
-mfpu
=
fpv4-sp-d16
-mfloat-abi
=
hard
-fsingle-precision-constant
-Wdouble-promotion
CFLAGS
=
$(INC)
-Wall
-Werror
-ansi
-std
=
gnu99
$(CFLAGS_CORTEX_M4)
$(COPT)
CFLAGS
=
$(INC)
-Wall
-Werror
-ansi
-std
=
gnu99
-nostdlib
$(CFLAGS_CORTEX_M4)
$(COPT)
#Debugging/Optimization
ifeq
($(DEBUG), 1)
...
...
@@ -22,7 +22,7 @@ else
CFLAGS
+=
-Os
-DNDEBUG
endif
LDFLAGS
=
-
-nostdlib
-T
stm32f405.ld
LDFLAGS
=
-nostdlib
-T
stm32f405.ld
LIBS
=
SRC_C
=
\
...
...
py/asmthumb.c
View file @
e973acde
...
...
@@ -28,8 +28,8 @@
#include
<assert.h>
#include
<string.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"asmthumb.h"
// wrapper around everything in this file
...
...
py/asmx64.c
View file @
e973acde
...
...
@@ -29,8 +29,8 @@
#include
<assert.h>
#include
<string.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
// wrapper around everything in this file
#if MICROPY_EMIT_X64
...
...
py/binary.c
View file @
e973acde
...
...
@@ -29,8 +29,8 @@
#include
<string.h>
#include
<assert.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"obj.h"
#include
"binary.h"
...
...
py/builtin.c
View file @
e973acde
...
...
@@ -113,10 +113,12 @@ mp_obj_t mp_builtin_abs(mp_obj_t o_in) {
}
else
{
return
o_in
;
}
#if MICROPY_PY_BUILTINS_COMPLEX
}
else
if
(
MP_OBJ_IS_TYPE
(
o_in
,
&
mp_type_complex
))
{
mp_float_t
real
,
imag
;
mp_obj_complex_get
(
o_in
,
&
real
,
&
imag
);
return
mp_obj_new_float
(
MICROPY_FLOAT_C_FUN
(
sqrt
)(
real
*
real
+
imag
*
imag
));
#endif
#endif
}
else
{
assert
(
0
);
...
...
@@ -154,7 +156,7 @@ MP_DEFINE_CONST_FUN_OBJ_1(mp_builtin_any_obj, mp_builtin_any);
STATIC
mp_obj_t
mp_builtin_bin
(
mp_obj_t
o_in
)
{
mp_obj_t
args
[]
=
{
MP_OBJ_NEW_QSTR
(
MP_QSTR__brace_open__colon__hash_b_brace_close_
),
o_in
};
return
mp_obj_str_format
(
ARRAY_SIZE
(
args
),
args
);
return
mp_obj_str_format
(
MP_
ARRAY_SIZE
(
args
),
args
);
}
MP_DEFINE_CONST_FUN_OBJ_1
(
mp_builtin_bin_obj
,
mp_builtin_bin
);
...
...
py/builtintables.c
View file @
e973acde
...
...
@@ -26,8 +26,8 @@
#include
<stdlib.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"obj.h"
#include
"builtin.h"
...
...
@@ -44,7 +44,7 @@ STATIC const mp_map_elem_t mp_builtin_object_table[] = {
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_bool
),
(
mp_obj_t
)
&
mp_type_bool
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_bytes
),
(
mp_obj_t
)
&
mp_type_bytes
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_bytearray
),
(
mp_obj_t
)
&
mp_type_bytearray
},
#if MICROPY_PY_BUILTINS_
FLOAT
#if MICROPY_PY_BUILTINS_
COMPLEX
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_complex
),
(
mp_obj_t
)
&
mp_type_complex
},
#endif
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_dict
),
(
mp_obj_t
)
&
mp_type_dict
},
...
...
@@ -150,8 +150,8 @@ const mp_obj_dict_t mp_builtin_object_dict_obj = {
.
map
=
{
.
all_keys_are_qstrs
=
1
,
.
table_is_fixed_array
=
1
,
.
used
=
ARRAY_SIZE
(
mp_builtin_object_table
),
.
alloc
=
ARRAY_SIZE
(
mp_builtin_object_table
),
.
used
=
MP_
ARRAY_SIZE
(
mp_builtin_object_table
),
.
alloc
=
MP_
ARRAY_SIZE
(
mp_builtin_object_table
),
.
table
=
(
mp_map_elem_t
*
)
mp_builtin_object_table
,
},
};
...
...
@@ -195,8 +195,8 @@ const mp_obj_dict_t mp_builtin_module_dict_obj = {
.
map
=
{
.
all_keys_are_qstrs
=
1
,
.
table_is_fixed_array
=
1
,
.
used
=
ARRAY_SIZE
(
mp_builtin_module_table
),
.
alloc
=
ARRAY_SIZE
(
mp_builtin_module_table
),
.
used
=
MP_
ARRAY_SIZE
(
mp_builtin_module_table
),
.
alloc
=
MP_
ARRAY_SIZE
(
mp_builtin_module_table
),
.
table
=
(
mp_map_elem_t
*
)
mp_builtin_module_table
,
},
};
py/compile.c
View file @
e973acde
...
...
@@ -31,8 +31,8 @@
#include
<assert.h>
#include
<math.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"lexer.h"
#include
"parse.h"
...
...
@@ -111,8 +111,8 @@ STATIC const mp_map_elem_t mp_constants_table[] = {
STATIC
const
mp_map_t
mp_constants_map
=
{
.
all_keys_are_qstrs
=
1
,
.
table_is_fixed_array
=
1
,
.
used
=
ARRAY_SIZE
(
mp_constants_table
),
.
alloc
=
ARRAY_SIZE
(
mp_constants_table
),
.
used
=
MP_
ARRAY_SIZE
(
mp_constants_table
),
.
alloc
=
MP_
ARRAY_SIZE
(
mp_constants_table
),
.
table
=
(
mp_map_elem_t
*
)
mp_constants_table
,
};
...
...
py/emitbc.c
View file @
e973acde
...
...
@@ -30,8 +30,8 @@
#include
<string.h>
#include
<assert.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"lexer.h"
#include
"parse.h"
...
...
py/emitcommon.c
View file @
e973acde
...
...
@@ -28,8 +28,8 @@
#include
<stdint.h>
#include
<assert.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"lexer.h"
#include
"parse.h"
...
...
py/emitcpy.c
View file @
e973acde
...
...
@@ -30,8 +30,8 @@
#include
<string.h>
#include
<assert.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"lexer.h"
#include
"parse.h"
...
...
py/emitglue.c
View file @
e973acde
...
...
@@ -30,8 +30,8 @@
#include
<string.h>
#include
<assert.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"obj.h"
#include
"runtime0.h"
...
...
py/emitinlinethumb.c
View file @
e973acde
...
...
@@ -30,8 +30,8 @@
#include
<stdarg.h>
#include
<assert.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"lexer.h"
#include
"parse.h"
...
...
@@ -167,7 +167,7 @@ STATIC uint get_arg_reg(emit_inline_asm_t *emit, const char *op, mp_parse_node_t
if
(
MP_PARSE_NODE_IS_ID
(
pn
))
{
qstr
reg_qstr
=
MP_PARSE_NODE_LEAF_ARG
(
pn
);
const
char
*
reg_str
=
qstr_str
(
reg_qstr
);
for
(
uint
i
=
0
;
i
<
ARRAY_SIZE
(
reg_name_table
);
i
++
)
{
for
(
uint
i
=
0
;
i
<
MP_
ARRAY_SIZE
(
reg_name_table
);
i
++
)
{
const
reg_name_t
*
r
=
&
reg_name_table
[
i
];
if
(
reg_str
[
0
]
==
r
->
name
[
0
]
&&
reg_str
[
1
]
==
r
->
name
[
1
]
&&
reg_str
[
2
]
==
r
->
name
[
2
]
&&
(
reg_str
[
2
]
==
'\0'
||
reg_str
[
3
]
==
'\0'
))
{
if
(
r
->
reg
>
max_reg
)
{
...
...
@@ -286,7 +286,7 @@ STATIC void emit_inline_thumb_op(emit_inline_asm_t *emit, qstr op, int n_args, m
asm_thumb_b_n
(
emit
->
as
,
label_num
);
}
else
if
(
op_str
[
0
]
==
'b'
&&
op_len
==
3
)
{
uint
cc
=
-
1
;
for
(
uint
i
=
0
;
i
<
ARRAY_SIZE
(
cc_name_table
);
i
++
)
{
for
(
uint
i
=
0
;
i
<
MP_
ARRAY_SIZE
(
cc_name_table
);
i
++
)
{
if
(
op_str
[
1
]
==
cc_name_table
[
i
].
name
[
0
]
&&
op_str
[
2
]
==
cc_name_table
[
i
].
name
[
1
])
{
cc
=
cc_name_table
[
i
].
cc
;
}
...
...
py/emitnative.c
View file @
e973acde
...
...
@@ -48,8 +48,8 @@
#include
<string.h>
#include
<assert.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"lexer.h"
#include
"parse.h"
...
...
py/emitpass1.c
View file @
e973acde
...
...
@@ -28,8 +28,8 @@
#include
<stdint.h>
#include
<assert.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"lexer.h"
#include
"parse.h"
...
...
py/gc.c
View file @
e973acde
...
...
@@ -33,7 +33,6 @@
#include
"misc.h"
#include
"gc.h"
#include
"misc.h"
#include
"qstr.h"
#include
"obj.h"
#include
"runtime.h"
...
...
@@ -113,7 +112,7 @@ STATIC machine_uint_t gc_lock_depth;
void
gc_init
(
void
*
start
,
void
*
end
)
{
// align end pointer on block boundary
end
=
(
void
*
)((
machine_uint_t
)
end
&
(
~
(
BYTES_PER_BLOCK
-
1
)));
DEBUG_printf
(
"Initializing GC heap: %p..%p = "
UINT_FMT
" bytes
\n
"
,
start
,
end
,
end
-
start
);
DEBUG_printf
(
"Initializing GC heap: %p..%p = "
UINT_FMT
" bytes
\n
"
,
start
,
end
,
(
byte
*
)
end
-
(
byte
*
)
start
);
// calculate parameters for GC (T=total, A=alloc table, F=finaliser table, P=pool; all in bytes):
// T = A + F + P
...
...
@@ -268,6 +267,7 @@ STATIC void gc_sweep(void) {
case
AT_TAIL
:
if
(
free_tail
)
{
DEBUG_printf
(
"gc_sweep(%p)
\n
"
,
PTR_FROM_BLOCK
(
block
));
ATB_ANY_TO_FREE
(
block
);
}
break
;
...
...
@@ -401,6 +401,7 @@ found:
// get pointer to first block
void
*
ret_ptr
=
(
void
*
)(
gc_pool_start
+
start_block
*
WORDS_PER_BLOCK
);
DEBUG_printf
(
"gc_alloc(%p)
\n
"
,
ret_ptr
);
// zero out the additional bytes of the newly allocated blocks
// This is needed because the blocks may have previously held pointers
...
...
@@ -439,6 +440,7 @@ void gc_free(void *ptr_in) {
}
machine_uint_t
ptr
=
(
machine_uint_t
)
ptr_in
;
DEBUG_printf
(
"gc_free(%p)
\n
"
,
ptr
);
if
(
VERIFY_PTR
(
ptr
))
{
machine_uint_t
block
=
BLOCK_FROM_PTR
(
ptr
);
...
...
@@ -590,7 +592,7 @@ void *gc_realloc(void *ptr_in, machine_uint_t n_bytes) {
return
NULL
;
}
DEBUG_printf
(
"gc_realloc
: allocating new block
\n
"
);
DEBUG_printf
(
"gc_realloc
(%p -> %p)
\n
"
,
ptr_in
,
ptr_out
);
memcpy
(
ptr_out
,
ptr_in
,
n_blocks
*
BYTES_PER_BLOCK
);
gc_free
(
ptr_in
);
return
ptr_out
;
...
...
py/lexer.c
View file @
e973acde
...
...
@@ -32,8 +32,8 @@
#include
<stdio.h>
#include
<assert.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"lexer.h"
...
...
@@ -694,10 +694,10 @@ STATIC void mp_lexer_next_token_into(mp_lexer_t *lex, mp_token_t *tok, bool firs
// need to check for this special token in many places in the compiler.
// TODO improve speed of these string comparisons
//for (int i = 0; tok_kw[i] != NULL; i++) {
for
(
int
i
=
0
;
i
<
ARRAY_SIZE
(
tok_kw
);
i
++
)
{
for
(
int
i
=
0
;
i
<
MP_
ARRAY_SIZE
(
tok_kw
);
i
++
)
{
if
(
str_strn_equal
(
tok_kw
[
i
],
tok
->
str
,
tok
->
len
))
{
if
(
i
==
ARRAY_SIZE
(
tok_kw
)
-
1
)
{
// tok_kw[ARRAY_SIZE(tok_kw) - 1] == "__debug__"
if
(
i
==
MP_
ARRAY_SIZE
(
tok_kw
)
-
1
)
{
// tok_kw[
MP_
ARRAY_SIZE(tok_kw) - 1] == "__debug__"
tok
->
kind
=
(
mp_optimise_value
==
0
?
MP_TOKEN_KW_TRUE
:
MP_TOKEN_KW_FALSE
);
}
else
{
tok
->
kind
=
MP_TOKEN_KW_FALSE
+
i
;
...
...
py/lexerstr.c
View file @
e973acde
...
...
@@ -24,8 +24,8 @@
* THE SOFTWARE.
*/
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"lexer.h"
...
...
py/lexerunix.c
View file @
e973acde
...
...
@@ -24,8 +24,8 @@
* THE SOFTWARE.
*/
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#if MICROPY_HELPER_LEXER_UNIX
...
...
py/malloc.c
View file @
e973acde
...
...
@@ -28,8 +28,8 @@
#include
<stdlib.h>
#include
<string.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#if 0 // print debugging info
#define DEBUG_printf DEBUG_printf
...
...
py/map.c
View file @
e973acde
...
...
@@ -27,8 +27,8 @@
#include
<stdlib.h>
#include
<assert.h>
#include
"misc.h"
#include
"mpconfig.h"
#include
"misc.h"
#include
"qstr.h"
#include
"obj.h"
#include
"runtime0.h"
...
...
Prev
1
2
3
4
5
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment