| Index: test/mjsunit/stack-traces.js
 | 
| diff --git a/test/mjsunit/stack-traces.js b/test/mjsunit/stack-traces.js
 | 
| index 438eec979d1766ed831a45c594bc29b8e9beab7a..71d64191c106f979fdf715ba35c36a5c34417d62 100644
 | 
| --- a/test/mjsunit/stack-traces.js
 | 
| +++ b/test/mjsunit/stack-traces.js
 | 
| @@ -288,4 +288,36 @@ testOmittedBuiltin(function(){ [thrower, 2].sort(function (a,b) {
 | 
|                     }, "QuickSort");
 | 
|  
 | 
|  // Omitted because ADD from runtime.js is non-native builtin.
 | 
| -testOmittedBuiltin(function(){ thrower + 2; }, "ADD");
 | 
| +testOmittedBuiltin(function(){ thrower + 2; }, "ADD");
 | 
| +
 | 
| +var error = new Error();
 | 
| +error.toString = function() { assertUnreachable(); };
 | 
| +error.stack;
 | 
| +
 | 
| +error = new Error();
 | 
| +error.name = { toString: function() { assertUnreachable(); }};
 | 
| +error.message = { toString: function() {  assertUnreachable(); }};
 | 
| +error.stack;
 | 
| +
 | 
| +error = new Error();
 | 
| +Array.prototype.push = function(x) { assertUnreachable(); };
 | 
| +Array.prototype.join = function(x) { assertUnreachable(); };
 | 
| +error.stack;
 | 
| +
 | 
| +var fired = false;
 | 
| +error = new Error({ toString: function() { fired = true; } });
 | 
| +assertTrue(fired);
 | 
| +error.stack;
 | 
| +assertTrue(fired);
 | 
| +
 | 
| +//Check that throwing exception in a custom stack trace formatting function
 | 
| +//does not lead to recursion.
 | 
| +Error.prepareStackTrace = function() { throw new Error("abc"); }
 | 
| +var message;
 | 
| +try {
 | 
| +  throw new Error();
 | 
| +} catch (e) {
 | 
| +  message = e.message;
 | 
| +}
 | 
| +
 | 
| +assertEquals("abc", message);
 | 
| 
 |