*polished code.

This commit is contained in:
Wang Renxin 2016-07-12 17:00:41 +08:00 committed by GitHub
parent 68c3b6954a
commit eef08ef4ad

View File

@ -2518,15 +2518,13 @@ static void _ls_destroy(_ls_node_t* list) {
}
static int _ls_free_extra(void* data, void* extra) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
mb_unrefvar(data);
mb_assert(extra);
safe_free(extra);
result = _OP_RESULT_DEL_NODE;
return result;
}
@ -3919,6 +3917,7 @@ _var:
_error:
_LS_FOREACH(garbage, _do_nothing_on_object, _remove_if_exist, opnd);
}
_exit:
_LS_FOREACH(garbage, _destroy_object, _try_clear_intermediate_value, s);
_ls_destroy(garbage);
@ -5973,7 +5972,7 @@ static void _gc_get_reachable(mb_interpreter_t* s, _ht_node_t* ht) {
/* Destroy only the capsule (wrapper) of an object, leave the data behind, and add it to GC if possible */
static int _gc_destroy_garbage_in_list(void* data, void* extra, _gc_t* gc) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
_object_t* obj = 0;
mb_unrefvar(extra);
@ -5983,14 +5982,12 @@ static int _gc_destroy_garbage_in_list(void* data, void* extra, _gc_t* gc) {
_ADDGC(obj, gc);
safe_free(obj);
result = _OP_RESULT_DEL_NODE;
return result;
}
/* Destroy only the capsule (wrapper) of an object, leave the data behind, deal with extra as well, and add it to GC if possible */
static int _gc_destroy_garbage_in_dict(void* data, void* extra, _gc_t* gc) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
_object_t* obj = 0;
mb_assert(data);
@ -6003,15 +6000,13 @@ static int _gc_destroy_garbage_in_dict(void* data, void* extra, _gc_t* gc) {
_ADDGC(obj, gc);
safe_free(obj);
result = _OP_RESULT_DEL_NODE;
return result;
}
#ifdef MB_ENABLE_CLASS
/* Destroy only the capsule (wrapper) of an object, leave the data behind, deal with extra as well, and add it to GC if possible */
static int _gc_destroy_garbage_in_class(void* data, void* extra, _gc_t* gc) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
_object_t* obj = 0;
mb_unrefvar(extra);
@ -6027,8 +6022,6 @@ static int _gc_destroy_garbage_in_class(void* data, void* extra, _gc_t* gc) {
}
safe_free(obj);
result = _OP_RESULT_DEL_NODE;
return result;
}
#endif /* MB_ENABLE_CLASS */
@ -6036,7 +6029,7 @@ static int _gc_destroy_garbage_in_class(void* data, void* extra, _gc_t* gc) {
#ifdef MB_ENABLE_LAMBDA
/* Destroy only the capsule (wrapper) of an object, leave the data behind, deal with extra as well, and add it to GC if possible */
static int _gc_destroy_garbage_in_lambda(void* data, void* extra, _gc_t* gc) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
_object_t* obj = 0;
mb_unrefvar(extra);
@ -6052,8 +6045,6 @@ static int _gc_destroy_garbage_in_lambda(void* data, void* extra, _gc_t* gc) {
}
safe_free(obj);
result = _OP_RESULT_DEL_NODE;
return result;
}
@ -7171,8 +7162,6 @@ static void _fill_ranged(_list_t* coll) {
/* Set an element to a dictionary with a key-value pair */
static void _set_dict(_dict_t* coll, mb_value_t* key, mb_value_t* val, _object_t* okey, _object_t* oval) {
_ls_node_t* exist = 0;
void* data = 0;
void* extra = 0;
mb_assert(coll && (key || okey) && (val || oval));
@ -7181,11 +7170,8 @@ static void _set_dict(_dict_t* coll, mb_value_t* key, mb_value_t* val, _object_t
if(val && !oval)
_create_internal_object_from_public_value(val, &oval);
exist = _ht_find(coll->dict, okey);
if(exist) {
data = exist->data;
extra = exist->extra;
if(exist)
_ht_remove(coll->dict, okey, _ls_cmp_extra_object);
}
_ht_set_or_insert(coll->dict, okey, oval);
_write_on_ref_object(&coll->lock, &coll->ref, coll);
@ -8947,7 +8933,7 @@ _exit:
/* Destroy an object and its data */
static int _destroy_object(void* data, void* extra) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
_object_t* obj = 0;
mb_unrefvar(extra);
@ -8959,14 +8945,12 @@ static int _destroy_object(void* data, void* extra) {
safe_free(obj);
_exit:
result = _OP_RESULT_DEL_NODE;
return result;
}
/* Destroy an object, including its data and extra data */
static int _destroy_object_with_extra(void* data, void* extra) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
_object_t* obj = 0;
mb_assert(data);
@ -8981,14 +8965,12 @@ static int _destroy_object_with_extra(void* data, void* extra) {
safe_free(obj);
_exit:
result = _OP_RESULT_DEL_NODE;
return result;
}
/* Destroy an object which is not come from compile time */
static int _destroy_object_not_compile_time(void* data, void* extra) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
_object_t* obj = 0;
mb_unrefvar(extra);
@ -9002,14 +8984,12 @@ static int _destroy_object_not_compile_time(void* data, void* extra) {
}
_exit:
result = _OP_RESULT_DEL_NODE;
return result;
}
/* Destroy only the capsule (wrapper) of an object, leave the data behind */
static int _destroy_object_capsule_only(void* data, void* extra) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
_object_t* obj = 0;
mb_unrefvar(extra);
@ -9018,8 +8998,6 @@ static int _destroy_object_capsule_only(void* data, void* extra) {
obj = (_object_t*)data;
safe_free(obj);
result = _OP_RESULT_DEL_NODE;
return result;
}
@ -10340,7 +10318,7 @@ static _module_func_t* _create_module_func(mb_interpreter_t* s, mb_func_t f) {
/* Destroy a module function structure */
static int _ls_destroy_module_func(void* data, void* extra) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
_module_func_t* mod = 0;
mb_unrefvar(extra);
@ -10350,14 +10328,12 @@ static int _ls_destroy_module_func(void* data, void* extra) {
safe_free(mod->module);
safe_free(mod);
result = _OP_RESULT_DEL_NODE;
return result;
}
/* Destroy all module function structures */
static int _ht_destroy_module_func_list(void* data, void* extra) {
int result = _OP_RESULT_NORMAL;
int result = _OP_RESULT_DEL_NODE;
_ls_node_t* lst = 0;
char* n = 0;
@ -10369,8 +10345,6 @@ static int _ht_destroy_module_func_list(void* data, void* extra) {
_ls_destroy(lst);
safe_free(n);
result = _OP_RESULT_DEL_NODE;
return result;
}
#endif /* MB_ENABLE_MODULE */