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
+9
View File
@@ -12,6 +12,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
var obj = {}, obj_l;
obj_l = obj;
for (var k = 0; k < 1500; k++)
{
obj_l.prop = {};
obj_l = obj_l.prop;
}
function f (o, i) {
if (--i > 0) {
f ({a:o, b:o}, i);