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
ed162b5e
Commit
ed162b5e
authored
Apr 20, 2014
by
Paul Sokolovsky
Browse files
gc: Recover simple gc_realloc implementation, make easier to switch between.
parent
9fd02e18
Changes
1
Hide whitespace changes
Inline
Side-by-side
py/gc.c
View file @
ed162b5e
...
...
@@ -434,8 +434,14 @@ void *gc_realloc(void *ptr, machine_uint_t n_bytes) {
if (n_bytes <= n_existing) {
return ptr;
} else {
// TODO check if we can grow inplace
void *ptr2 = gc_alloc(n_bytes);
// TODO false is incorrect! Should get value from current block!
void *ptr2 = gc_alloc(n_bytes,
#if MICROPY_ENABLE_FINALISER
FTB_GET(BLOCK_FROM_PTR((machine_uint_t)ptr))
#else
false
#endif
);
if
(
ptr2
==
NULL
)
{
return
ptr2
;
}
...
...
@@ -444,7 +450,8 @@ void *gc_realloc(void *ptr, machine_uint_t n_bytes) {
return
ptr2
;
}
}
#endif
#else // Alternative gc_realloc impl
void
*
gc_realloc
(
void
*
ptr_in
,
machine_uint_t
n_bytes
)
{
if
(
gc_lock_depth
>
0
)
{
...
...
@@ -524,6 +531,7 @@ void *gc_realloc(void *ptr_in, machine_uint_t n_bytes) {
return
ptr_out
;
}
#endif // Alternative gc_realloc impl
void
gc_dump_info
()
{
gc_info_t
info
;
...
...
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