call-ignore-rval.js (774B)
1 // Tests for JSOp::CallIgnoresRv in optional chains. 2 3 // Note:: IgnoresReturnValueNative is supported for Array.prototype.splice. 4 5 // Test for optional call. 6 function testOptionalCall() { 7 for (var i = 0; i < 100; ++i) { 8 var x = [1, 2, 3]; 9 x.splice?.(0); 10 } 11 } 12 13 for (var i = 0; i < 5; ++i) { testOptionalCall(); } 14 15 // Test for optional prop directly followed by call. 16 function testOptionalProp() { 17 for (var i = 0; i < 100; ++i) { 18 var x = [1, 2, 3]; 19 x?.splice(0); 20 } 21 } 22 23 for (var i = 0; i < 5; ++i) { testOptionalProp(); } 24 25 // Test for call in optional chain expression. 26 function testOptionalChain() { 27 for (var i = 0; i < 100; ++i) { 28 var x = [1, 2, 3]; 29 var o = {x}; 30 o?.x.splice(0); 31 } 32 } 33 34 for (var i = 0; i < 5; ++i) { testOptionalChain(); }