regress-418128.js (967B)
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 = 418128; 8 var summary = 'GC hazard with ++/--'; 9 var actual = 'No Crash'; 10 var expect = 'No Crash'; 11 12 13 //----------------------------------------------------------------------------- 14 test(); 15 //----------------------------------------------------------------------------- 16 17 function test() 18 { 19 printBugNumber(BUGNUMBER); 20 printStatus (summary); 21 22 var obj = {}; 23 var id = { toString: function() { return ""+Math.pow(2, 0.1); } } 24 obj[id] = { valueOf: unrooter }; 25 print(obj[id]++); 26 gc(); 27 28 function unrooter() 29 { 30 delete obj[id]; 31 gc(); 32 return 10; 33 } 34 35 reportCompare(expect, actual, summary); 36 }