regress-316885-03.js (969B)
1 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 //----------------------------------------------------------------------------- 7 var BUGNUMBER = 316885; 8 var summary = 'Unrooted access in jsinterp.c'; 9 var actual = ''; 10 var expect = ''; 11 12 printBugNumber(BUGNUMBER); 13 printStatus (summary); 14 15 var str = "test"; 16 17 var lval = { 18 valueOf: function() { 19 return str+"1"; 20 } 21 }; 22 23 var ONE = 1; 24 25 var rval = { 26 valueOf: function() { 27 // Make sure that the result of the previous lval.valueOf 28 // is not GC-rooted. 29 var tmp = "x"+lval; 30 if (typeof gc == "function") 31 gc(); 32 for (var i = 0; i != 40000; ++i) { 33 tmp = 1e100 / ONE; 34 } 35 return str; 36 } 37 }; 38 39 expect = (str+"1")+str; 40 actual = lval+rval; 41 42 reportCompare(expect, actual, summary);