Introducing managed pointer class ecma_pointer_t, using it to store pointer in ecma_value_t.

This commit is contained in:
Ruben Ayrapetyan
2015-02-03 18:25:38 +03:00
parent 9cdc50c3ec
commit c12659ba51
3 changed files with 135 additions and 31 deletions
+4 -8
View File
@@ -112,7 +112,7 @@ class ecma_value_t
|| _type == ECMA_TYPE_STRING
|| _type == ECMA_TYPE_OBJECT);
ECMA_SET_NON_NULL_POINTER (value, _value_p);
_value_p.pack_to (value);
}
return pack (_type, value);
@@ -178,7 +178,7 @@ class ecma_value_t
|| _type == ECMA_TYPE_STRING
|| _type == ECMA_TYPE_OBJECT);
_value_p = ECMA_GET_NON_NULL_POINTER (void, value);
_value_p.unpack_from (value);
}
return *this;
@@ -320,12 +320,8 @@ class ecma_value_t
}
ecma_type_t _type;
union
{
ecma_simple_value_t _simple_value;
void* _value_p;
};
ecma_simple_value_t _simple_value;
ecma_pointer_t _value_p;
};
/**