Changing GC mark phase to be non-recursive. It is noticeably slower on some test cases, but doesn't cause stack overflow.

This commit is contained in:
Ruben Ayrapetyan
2015-02-19 14:03:59 +03:00
parent a751ab4f9d
commit bb18970151
4 changed files with 153 additions and 81 deletions
-7
View File
@@ -414,13 +414,6 @@ typedef struct
ECMA_OBJECT_GC_NEXT_CP_WIDTH)
#define ECMA_OBJECT_GC_VISITED_WIDTH (1)
/**
* Flag indicating that the object may reference objects of younger generations in its properties.
*/
#define ECMA_OBJECT_GC_MAY_REF_YOUNGER_OBJECTS_POS (ECMA_OBJECT_GC_VISITED_POS + \
ECMA_OBJECT_GC_VISITED_WIDTH)
#define ECMA_OBJECT_GC_MAY_REF_YOUNGER_OBJECTS_WIDTH (1)
/* Objects' only part */