rem: writeLineToLog("Max callAfterConsumingCStack levels:"+n); 
add: print("Max callAfterConsumingCStack levels:"+n); 
context: function test(){  enterFunc ('test');  printBugNumber (bug);  printStatus (summary);  // Construct f(){function f(){function f(){...}}} with maximum// nested function declaration still does not hit recursion limit.  var deepestFunction;  var n = findActionMax(function(n) {    var prefix="function f(){";    var suffix="}";    var source = Array(n+1).join(prefix) + Array(n+1).join(suffix);    try {      deepestFunction = Function(source);      return true;     } catch (e) {      if (!(e instanceof InternalError))			throw e;      return false;     }  });  if (n == 0)    throw "unexpected";  writeLineToLog("Max nested function leveles:"+n);  n = findActionMax(function(n) {    try {      callAfterConsumingCStack(n, function() {});      return true;    } catch (e) {      if (!(e instanceof InternalError))			throw e;      return false;	    }  });  writeLineToLog("Max callAfterConsumingCStack levels:"+n);// Here n is max possible value when callAfterConsumingCStack(n, emptyFunction)// does not trigger stackOverflow. Decrease it slightly to give some C stack space// for deepestFunction.toSource()    n = Math.max(0, n - 10);  try {    var src = callAfterConsumingCStack(n, function() {      return deepestFunction.toSource();    });    throw "Test failed to hit the recursion limit.";  } catch (e) {    if (!(e instanceof InternalError))      throw e;  }  writeLineToLog('Done');  expect = true;  actual = true;  reportCompare(expect, true, summary);  exitFunc ('test');}
meta: 5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5459/f577de167a7d5c2c46bde55f8215c4317b1d256f/regress-348986.js/clean/js/tests/js1_5/Function/regress-348986.js