Chromium Code Reviews| Index: test/mjsunit/compiler/inline-exception-1.js |
| diff --git a/test/mjsunit/compiler/inline-exception-1.js b/test/mjsunit/compiler/inline-exception-1.js |
| index b67107b6cb5c8c48465eee91e94c8bc425549bc9..7d2cef281f24b8b433fa3dfd42be471122e7e0cc 100644 |
| --- a/test/mjsunit/compiler/inline-exception-1.js |
| +++ b/test/mjsunit/compiler/inline-exception-1.js |
| @@ -66,6 +66,24 @@ function increaseAndThrow42() { |
| throw 42; |
| } |
| +function increaseAndReturn15_noopt_inner() { |
| + if (deopt) %DeoptimizeFunction(f); |
| + counter++; |
| + return 15; |
| +} |
| + |
| +%NeverOptimizeFunction(increaseAndReturn15_noopt_inner); |
| + |
| +function increaseAndThrow42_noopt_inner() { |
| + if (deopt) %DeoptimizeFunction(f); |
| + counter++; |
| + throw 42; |
| +} |
| + |
| +%NeverOptimizeFunction(increaseAndThrow42_noopt_inner); |
| + |
| +// Alternative 1 |
| + |
| function returnOrThrow(doReturn) { |
| if (doReturn) { |
| return increaseAndReturn15(); |
| @@ -74,6 +92,17 @@ function returnOrThrow(doReturn) { |
| } |
| } |
| +// Alternative 2 |
| + |
| +function increaseAndReturn15_noopt_outer() { |
| + return increaseAndReturn15_noopt_inner(); |
| +} |
| + |
| +function increaseAndThrow42_noopt_outer() { |
|
Jarin
2016/08/29 09:48:07
The "noopt" in the name is confusing because incre
|
| + return increaseAndThrow42_noopt_inner(); |
| +} |
| + |
| +// Alternative 3. |
| // When passed either {increaseAndReturn15} or {increaseAndThrow42}, it acts |
| // as the other one. |
| function invertFunctionCall(f) { |
| @@ -86,6 +115,7 @@ function invertFunctionCall(f) { |
| throw result + 27; |
| } |
| +// Alternative 4: constructor |
| function increaseAndStore15Constructor() { |
| if (deopt) %DeoptimizeFunction(f); |
| ++counter; |
| @@ -99,6 +129,7 @@ function increaseAndThrow42Constructor() { |
| throw this.x; |
| } |
| +// Alternative 5: property |
| var magic = {}; |
| Object.defineProperty(magic, 'prop', { |
| get: function () { |
| @@ -116,6 +147,7 @@ Object.defineProperty(magic, 'prop', { |
| // Generate type feedback. |
| +assertEquals(15, increaseAndReturn15_noopt_outer()); |
| assertEquals(15, (new increaseAndStore15Constructor()).x); |
| assertThrowsEquals(function() { |
| return (new increaseAndThrow42Constructor()).x; |
| @@ -126,12 +158,12 @@ function runThisShard() { |
| // Variant flags: [tryReturns, doFinally] |
| - f = function f______r______f____ () { |
| - var local = 3; |
| + f = function f_______r______f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -140,17 +172,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryReturns, doFinally, finallyThrows] |
| - f = function f______r______f_t__ () { |
| - var local = 3; |
| + f = function f_______r______f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -164,12 +196,12 @@ function runThisShard() { |
| // Variant flags: [tryReturns, doFinally, finallyReturns] |
| - f = function f______r______fr___ () { |
| - var local = 3; |
| + f = function f_______r______fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -178,17 +210,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(3, counter); |
| // Variant flags: [tryReturns, doCatch] |
| - f = function f______r__c________ () { |
| - var local = 3; |
| + f = function f_______r__c________ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -196,17 +228,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [tryReturns, doCatch, deopt] |
| - f = function f______r__c_______d () { |
| - var local = 3; |
| + f = function f_______r__c_______d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -214,17 +246,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [tryReturns, doCatch, doFinally] |
| - f = function f______r__c___f____ () { |
| - var local = 3; |
| + f = function f_______r__c___f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -236,17 +268,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryReturns, doCatch, doFinally, finallyThrows] |
| - f = function f______r__c___f_t__ () { |
| - var local = 3; |
| + f = function f_______r__c___f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -263,12 +295,12 @@ function runThisShard() { |
| // Variant flags: [tryReturns, doCatch, doFinally, finallyReturns] |
| - f = function f______r__c___fr___ () { |
| - var local = 3; |
| + f = function f_______r__c___fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -280,17 +312,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(3, counter); |
| // Variant flags: [tryReturns, doCatch, catchThrows] |
| - f = function f______r__c__t_____ () { |
| - var local = 3; |
| + f = function f_______r__c__t_____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -299,17 +331,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [tryReturns, doCatch, catchThrows, deopt] |
| - f = function f______r__c__t____d () { |
| - var local = 3; |
| + f = function f_______r__c__t____d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -318,17 +350,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [tryReturns, doCatch, catchThrows, doFinally] |
| - f = function f______r__c__tf____ () { |
| - var local = 3; |
| + f = function f_______r__c__tf____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -341,18 +373,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryReturns, doCatch, catchThrows, doFinally, |
| // finallyThrows] |
| - f = function f______r__c__tf_t__ () { |
| - var local = 3; |
| + f = function f_______r__c__tf_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -371,12 +403,12 @@ function runThisShard() { |
| // Variant flags: [tryReturns, doCatch, catchThrows, doFinally, |
| // finallyReturns] |
| - f = function f______r__c__tfr___ () { |
| - var local = 3; |
| + f = function f_______r__c__tfr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -389,17 +421,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(3, counter); |
| // Variant flags: [tryReturns, doCatch, catchReturns] |
| - f = function f______r__cr_______ () { |
| - var local = 3; |
| + f = function f_______r__cr_______ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -408,17 +440,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [tryReturns, doCatch, catchReturns, deopt] |
| - f = function f______r__cr______d () { |
| - var local = 3; |
| + f = function f_______r__cr______d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -427,17 +459,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [tryReturns, doCatch, catchReturns, doFinally] |
| - f = function f______r__cr__f____ () { |
| - var local = 3; |
| + f = function f_______r__cr__f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -450,18 +482,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryReturns, doCatch, catchReturns, doFinally, |
| // finallyThrows] |
| - f = function f______r__cr__f_t__ () { |
| - var local = 3; |
| + f = function f_______r__cr__f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -480,12 +512,12 @@ function runThisShard() { |
| // Variant flags: [tryReturns, doCatch, catchReturns, doFinally, |
| // finallyReturns] |
| - f = function f______r__cr__fr___ () { |
| - var local = 3; |
| + f = function f_______r__cr__fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -498,17 +530,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(3, counter); |
| // Variant flags: [tryThrows, doFinally] |
| - f = function f_____t_______f____ () { |
| - var local = 3; |
| + f = function f______t_______f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -522,12 +554,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doFinally, finallyThrows] |
| - f = function f_____t_______f_t__ () { |
| - var local = 3; |
| + f = function f______t_______f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -541,12 +573,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doFinally, finallyReturns] |
| - f = function f_____t_______fr___ () { |
| - var local = 3; |
| + f = function f______t_______fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -555,17 +587,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(3, counter); |
| // Variant flags: [tryThrows, doCatch] |
| - f = function f_____t___c________ () { |
| - var local = 3; |
| + f = function f______t___c________ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -578,12 +610,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, deopt] |
| - f = function f_____t___c_______d () { |
| - var local = 3; |
| + f = function f______t___c_______d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -596,12 +628,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, doFinally] |
| - f = function f_____t___c___f____ () { |
| - var local = 3; |
| + f = function f______t___c___f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -618,12 +650,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, doFinally, finallyThrows] |
| - f = function f_____t___c___f_t__ () { |
| - var local = 3; |
| + f = function f______t___c___f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -640,12 +672,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, doFinally, finallyReturns] |
| - f = function f_____t___c___fr___ () { |
| - var local = 3; |
| + f = function f______t___c___fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -657,17 +689,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(5, counter); |
| // Variant flags: [tryThrows, doCatch, catchThrows] |
| - f = function f_____t___c__t_____ () { |
| - var local = 3; |
| + f = function f______t___c__t_____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -681,12 +713,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, catchThrows, deopt] |
| - f = function f_____t___c__t____d () { |
| - var local = 3; |
| + f = function f______t___c__t____d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -700,12 +732,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, catchThrows, doFinally] |
| - f = function f_____t___c__tf____ () { |
| - var local = 3; |
| + f = function f______t___c__tf____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -724,12 +756,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, catchThrows, doFinally, |
| // finallyThrows] |
| - f = function f_____t___c__tf_t__ () { |
| - var local = 3; |
| + f = function f______t___c__tf_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -748,12 +780,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, catchThrows, doFinally, |
| // finallyReturns] |
| - f = function f_____t___c__tfr___ () { |
| - var local = 3; |
| + f = function f______t___c__tfr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -766,17 +798,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryThrows, doCatch, catchReturns] |
| - f = function f_____t___cr_______ () { |
| - var local = 3; |
| + f = function f______t___cr_______ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -790,12 +822,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, catchReturns, deopt] |
| - f = function f_____t___cr______d () { |
| - var local = 3; |
| + f = function f______t___cr______d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -809,12 +841,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, catchReturns, doFinally] |
| - f = function f_____t___cr__f____ () { |
| - var local = 3; |
| + f = function f______t___cr__f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -833,12 +865,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, catchReturns, doFinally, |
| // finallyThrows] |
| - f = function f_____t___cr__f_t__ () { |
| - var local = 3; |
| + f = function f______t___cr__f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -857,12 +889,12 @@ function runThisShard() { |
| // Variant flags: [tryThrows, doCatch, catchReturns, doFinally, |
| // finallyReturns] |
| - f = function f_____t___cr__fr___ () { |
| - var local = 3; |
| + f = function f______t___cr__fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -875,18 +907,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryThrows, tryReturns, doFinally] |
| - f = function f_____tr______f____ () { |
| - var local = 3; |
| + f = function f______tr______f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -900,13 +932,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doFinally, finallyThrows] |
| - f = function f_____tr______f_t__ () { |
| - var local = 3; |
| + f = function f______tr______f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -920,13 +952,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doFinally, finallyReturns] |
| - f = function f_____tr______fr___ () { |
| - var local = 3; |
| + f = function f______tr______fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -935,18 +967,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(3, counter); |
| // Variant flags: [tryThrows, tryReturns, doCatch] |
| - f = function f_____tr__c________ () { |
| - var local = 3; |
| + f = function f______tr__c________ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -959,13 +991,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doCatch, doFinally] |
| - f = function f_____tr__c___f____ () { |
| - var local = 3; |
| + f = function f______tr__c___f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -983,13 +1015,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doCatch, doFinally, |
| // finallyThrows] |
| - f = function f_____tr__c___f_t__ () { |
| - var local = 3; |
| + f = function f______tr__c___f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1007,13 +1039,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doCatch, doFinally, |
| // finallyReturns] |
| - f = function f_____tr__c___fr___ () { |
| - var local = 3; |
| + f = function f______tr__c___fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1025,18 +1057,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(5, counter); |
| // Variant flags: [tryThrows, tryReturns, doCatch, catchThrows] |
| - f = function f_____tr__c__t_____ () { |
| - var local = 3; |
| + f = function f______tr__c__t_____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1051,13 +1083,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doCatch, catchThrows, |
| // doFinally] |
| - f = function f_____tr__c__tf____ () { |
| - var local = 3; |
| + f = function f______tr__c__tf____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1076,13 +1108,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doCatch, catchThrows, |
| // doFinally, finallyThrows] |
| - f = function f_____tr__c__tf_t__ () { |
| - var local = 3; |
| + f = function f______tr__c__tf_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1101,13 +1133,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doCatch, catchThrows, |
| // doFinally, finallyReturns] |
| - f = function f_____tr__c__tfr___ () { |
| - var local = 3; |
| + f = function f______tr__c__tfr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1120,18 +1152,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryThrows, tryReturns, doCatch, catchReturns] |
| - f = function f_____tr__cr_______ () { |
| - var local = 3; |
| + f = function f______tr__cr_______ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1146,13 +1178,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doCatch, catchReturns, |
| // doFinally] |
| - f = function f_____tr__cr__f____ () { |
| - var local = 3; |
| + f = function f______tr__cr__f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1171,13 +1203,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doCatch, catchReturns, |
| // doFinally, finallyThrows] |
| - f = function f_____tr__cr__f_t__ () { |
| - var local = 3; |
| + f = function f______tr__cr__f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1196,13 +1228,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, doCatch, catchReturns, |
| // doFinally, finallyReturns] |
| - f = function f_____tr__cr__fr___ () { |
| - var local = 3; |
| + f = function f______tr__cr__fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndThrow42(); |
| - return increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1215,19 +1247,19 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, |
| // doFinally] |
| - f = function f_____trf_____f____ () { |
| - var local = 3; |
| + f = function f______trf_____f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -1236,19 +1268,19 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, |
| // doFinally, finallyThrows] |
| - f = function f_____trf_____f_t__ () { |
| - var local = 3; |
| + f = function f______trf_____f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -1263,13 +1295,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, |
| // doFinally, finallyReturns] |
| - f = function f_____trf_____fr___ () { |
| - var local = 3; |
| + f = function f______trf_____fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } finally { |
| counter++; |
| @@ -1278,18 +1310,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(3, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch] |
| - f = function f_____trf_c________ () { |
| - var local = 3; |
| + f = function f______trf_c________ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1297,19 +1329,19 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // doFinally] |
| - f = function f_____trf_c___f____ () { |
| - var local = 3; |
| + f = function f______trf_c___f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1321,19 +1353,19 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // doFinally, finallyThrows] |
| - f = function f_____trf_c___f_t__ () { |
| - var local = 3; |
| + f = function f______trf_c___f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1351,13 +1383,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // doFinally, finallyReturns] |
| - f = function f_____trf_c___fr___ () { |
| - var local = 3; |
| + f = function f______trf_c___fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1369,19 +1401,19 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(3, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // catchThrows] |
| - f = function f_____trf_c__t_____ () { |
| - var local = 3; |
| + f = function f______trf_c__t_____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1390,19 +1422,19 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // catchThrows, doFinally] |
| - f = function f_____trf_c__tf____ () { |
| - var local = 3; |
| + f = function f______trf_c__tf____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1415,19 +1447,19 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // catchThrows, doFinally, finallyThrows] |
| - f = function f_____trf_c__tf_t__ () { |
| - var local = 3; |
| + f = function f______trf_c__tf_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1446,13 +1478,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // catchThrows, doFinally, finallyReturns] |
| - f = function f_____trf_c__tfr___ () { |
| - var local = 3; |
| + f = function f______trf_c__tfr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1465,19 +1497,19 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(3, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // catchReturns] |
| - f = function f_____trf_cr_______ () { |
| - var local = 3; |
| + f = function f______trf_cr_______ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1486,19 +1518,19 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // catchReturns, doFinally] |
| - f = function f_____trf_cr__f____ () { |
| - var local = 3; |
| + f = function f______trf_cr__f____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1511,19 +1543,19 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(4, counter); |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // catchReturns, doFinally, finallyThrows] |
| - f = function f_____trf_cr__f_t__ () { |
| - var local = 3; |
| + f = function f______trf_cr__f_t__ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1542,13 +1574,13 @@ function runThisShard() { |
| // Variant flags: [tryThrows, tryReturns, tryFirstReturns, doCatch, |
| // catchReturns, doFinally, finallyReturns] |
| - f = function f_____trf_cr__fr___ () { |
| - var local = 3; |
| + f = function f______trf_cr__fr___ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return increaseAndReturn15(); |
| - return increaseAndThrow42(); |
| + return 4 + increaseAndReturn15(); |
| + return 4 + increaseAndThrow42(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1561,17 +1593,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(6, f); |
| + resetOptAndAssertResultEquals(891, f); |
| assertEquals(3, counter); |
| // Variant flags: [alternativeFn1, tryReturns, doCatch] |
| - f = function f____1_r__c________ () { |
| - var local = 3; |
| + f = function f_____1_r__c________ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return returnOrThrow(true); |
| + return 4 + returnOrThrow(true); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1579,17 +1611,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [alternativeFn1, tryReturns, doCatch, deopt] |
| - f = function f____1_r__c_______d () { |
| - var local = 3; |
| + f = function f_____1_r__c_______d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return returnOrThrow(true); |
| + return 4 + returnOrThrow(true); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1597,17 +1629,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [alternativeFn1, tryReturns, doCatch, catchThrows] |
| - f = function f____1_r__c__t_____ () { |
| - var local = 3; |
| + f = function f_____1_r__c__t_____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return returnOrThrow(true); |
| + return 4 + returnOrThrow(true); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1616,18 +1648,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [alternativeFn1, tryReturns, doCatch, catchThrows, |
| // deopt] |
| - f = function f____1_r__c__t____d () { |
| - var local = 3; |
| + f = function f_____1_r__c__t____d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return returnOrThrow(true); |
| + return 4 + returnOrThrow(true); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1636,18 +1668,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [alternativeFn1, tryReturns, doCatch, |
| // catchReturns] |
| - f = function f____1_r__cr_______ () { |
| - var local = 3; |
| + f = function f_____1_r__cr_______ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return returnOrThrow(true); |
| + return 4 + returnOrThrow(true); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1656,18 +1688,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [alternativeFn1, tryReturns, doCatch, |
| // catchReturns, deopt] |
| - f = function f____1_r__cr______d () { |
| - var local = 3; |
| + f = function f_____1_r__cr______d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return returnOrThrow(true); |
| + return 4 + returnOrThrow(true); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1676,17 +1708,17 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| // Variant flags: [alternativeFn1, tryThrows, doCatch] |
| - f = function f____1t___c________ () { |
| - var local = 3; |
| + f = function f_____1t___c________ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return returnOrThrow(false); |
| + return 4 + returnOrThrow(false); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1699,12 +1731,12 @@ function runThisShard() { |
| // Variant flags: [alternativeFn1, tryThrows, doCatch, deopt] |
| - f = function f____1t___c_______d () { |
| - var local = 3; |
| + f = function f_____1t___c_______d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return returnOrThrow(false); |
| + return 4 + returnOrThrow(false); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1717,12 +1749,12 @@ function runThisShard() { |
| // Variant flags: [alternativeFn1, tryThrows, doCatch, catchThrows] |
| - f = function f____1t___c__t_____ () { |
| - var local = 3; |
| + f = function f_____1t___c__t_____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return returnOrThrow(false); |
| + return 4 + returnOrThrow(false); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1737,12 +1769,12 @@ function runThisShard() { |
| // Variant flags: [alternativeFn1, tryThrows, doCatch, catchThrows, |
| // deopt] |
| - f = function f____1t___c__t____d () { |
| - var local = 3; |
| + f = function f_____1t___c__t____d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return returnOrThrow(false); |
| + return 4 + returnOrThrow(false); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1756,12 +1788,12 @@ function runThisShard() { |
| // Variant flags: [alternativeFn1, tryThrows, doCatch, catchReturns] |
| - f = function f____1t___cr_______ () { |
| - var local = 3; |
| + f = function f_____1t___cr_______ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return returnOrThrow(false); |
| + return 4 + returnOrThrow(false); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1776,12 +1808,12 @@ function runThisShard() { |
| // Variant flags: [alternativeFn1, tryThrows, doCatch, catchReturns, |
| // deopt] |
| - f = function f____1t___cr______d () { |
| - var local = 3; |
| + f = function f_____1t___cr______d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return returnOrThrow(false); |
| + return 4 + returnOrThrow(false); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1793,110 +1825,118 @@ function runThisShard() { |
| resetOptAndAssertResultEquals(44, f); |
| assertEquals(3, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch] |
| + // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| + // catchWithLocal, endReturnLocal, deopt] |
| - f = function f___2__r__c________ () { |
| - var local = 3; |
| - deopt = false; |
| + f = function f____2__r__c_l____ld () { |
| + var local = 888; |
| + deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + increaseAndReturn15_noopt_outer(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| + local += ex; |
| counter++; |
| } |
| counter++; |
| + return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, deopt] |
| + // Variant flags: [alternativeFn2, tryReturns, tryResultToLocal, |
| + // doCatch, endReturnLocal, deopt] |
| - f = function f___2__r__c_______d () { |
| - var local = 3; |
| + f = function f____2__r_lc______ld () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + local += 4 + increaseAndReturn15_noopt_outer(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| counter++; |
| } |
| counter++; |
| + return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| - assertEquals(2, counter); |
| + resetOptAndAssertResultEquals(912, f); |
| + assertEquals(4, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, catchThrows] |
| + // Variant flags: [alternativeFn2, tryReturns, tryResultToLocal, |
| + // doCatch, catchWithLocal, endReturnLocal, deopt] |
| - f = function f___2__r__c__t_____ () { |
| - var local = 3; |
| - deopt = false; |
| + f = function f____2__r_lc_l____ld () { |
| + var local = 888; |
| + deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + local += 4 + increaseAndReturn15_noopt_outer(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - throw 2 + ex; |
| + local += ex; |
| counter++; |
| } |
| counter++; |
| + return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| - assertEquals(2, counter); |
| + resetOptAndAssertResultEquals(912, f); |
| + assertEquals(4, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, catchThrows, |
| - // deopt] |
| + // Variant flags: [alternativeFn2, tryThrows, doCatch, |
| + // catchWithLocal, endReturnLocal, deopt] |
| - f = function f___2__r__c__t____d () { |
| - var local = 3; |
| + f = function f____2_t___c_l____ld () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + increaseAndThrow42_noopt_outer(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - throw 2 + ex; |
| + local += ex; |
| counter++; |
| } |
| counter++; |
| + return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| - assertEquals(2, counter); |
| + resetOptAndAssertResultEquals(935, f); |
| + assertEquals(5, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchWithLocal] |
| + // Variant flags: [alternativeFn2, tryThrows, tryResultToLocal, |
| + // doCatch, endReturnLocal, deopt] |
| - f = function f___2__r__c_l______ () { |
| - var local = 3; |
| - deopt = false; |
| + f = function f____2_t__lc______ld () { |
| + var local = 888; |
| + deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + local += 4 + increaseAndThrow42_noopt_outer(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - local += ex; |
| counter++; |
| } |
| counter++; |
| + return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| - assertEquals(2, counter); |
| + resetOptAndAssertResultEquals(893, f); |
| + assertEquals(5, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchWithLocal, deopt] |
| + // Variant flags: [alternativeFn2, tryThrows, tryResultToLocal, |
| + // doCatch, catchWithLocal, endReturnLocal, deopt] |
| - f = function f___2__r__c_l_____d () { |
| - var local = 3; |
| + f = function f____2_t__lc_l____ld () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + local += 4 + increaseAndThrow42_noopt_outer(); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1904,61 +1944,55 @@ function runThisShard() { |
| counter++; |
| } |
| counter++; |
| + return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| - assertEquals(2, counter); |
| + resetOptAndAssertResultEquals(935, f); |
| + assertEquals(5, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchWithLocal, endReturnLocal] |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch] |
| - f = function f___2__r__c_l____l_ () { |
| - var local = 3; |
| + f = function f___3___r__c________ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - local += ex; |
| counter++; |
| } |
| counter++; |
| - return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchWithLocal, endReturnLocal, deopt] |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, deopt] |
| - f = function f___2__r__c_l____ld () { |
| - var local = 3; |
| + f = function f___3___r__c_______d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - local += ex; |
| counter++; |
| } |
| counter++; |
| - return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchWithLocal, catchThrows] |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, catchThrows] |
| - f = function f___2__r__c_lt_____ () { |
| - var local = 3; |
| + f = function f___3___r__c__t_____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1967,18 +2001,18 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchWithLocal, catchThrows, deopt] |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, catchThrows, |
| + // deopt] |
| - f = function f___2__r__c_lt____d () { |
| - var local = 3; |
| + f = function f___3___r__c__t____d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| counter++; |
| } catch (ex) { |
| counter++; |
| @@ -1987,135 +2021,197 @@ function runThisShard() { |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchWithLocal, catchThrows, endReturnLocal] |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, |
| + // catchWithLocal] |
| - f = function f___2__r__c_lt___l_ () { |
| - var local = 3; |
| + f = function f___3___r__c_l______ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - throw 2 + ex; |
| + local += ex; |
| + counter++; |
| + } |
| + counter++; |
| + } |
| + resetOptAndAssertResultEquals(19, f); |
| + assertEquals(2, counter); |
| + |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, |
| + // catchWithLocal, deopt] |
| + |
| + f = function f___3___r__c_l_____d () { |
| + var local = 888; |
| + deopt = true; |
| + try { |
| + counter++; |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| + counter++; |
| + } catch (ex) { |
| + counter++; |
| + local += ex; |
| + counter++; |
| + } |
| + counter++; |
| + } |
| + resetOptAndAssertResultEquals(19, f); |
| + assertEquals(2, counter); |
| + |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, |
| + // catchWithLocal, endReturnLocal] |
| + |
| + f = function f___3___r__c_l____l_ () { |
| + var local = 888; |
| + deopt = false; |
| + try { |
| + counter++; |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| + counter++; |
| + } catch (ex) { |
| + counter++; |
| + local += ex; |
| counter++; |
| } |
| counter++; |
| return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchWithLocal, catchThrows, endReturnLocal, deopt] |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, |
| + // catchWithLocal, endReturnLocal, deopt] |
| - f = function f___2__r__c_lt___ld () { |
| - var local = 3; |
| + f = function f___3___r__c_l____ld () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - throw 2 + ex; |
| + local += ex; |
| counter++; |
| } |
| counter++; |
| return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchReturns] |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, |
| + // catchWithLocal, catchThrows] |
| - f = function f___2__r__cr_______ () { |
| - var local = 3; |
| + f = function f___3___r__c_lt_____ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - return 2 + ex; |
| + throw 2 + ex; |
| counter++; |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchReturns, deopt] |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, |
| + // catchWithLocal, catchThrows, deopt] |
| - f = function f___2__r__cr______d () { |
| - var local = 3; |
| + f = function f___3___r__c_lt____d () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - return 2 + ex; |
| + throw 2 + ex; |
| counter++; |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchReturns, catchWithLocal] |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, |
| + // catchWithLocal, catchThrows, endReturnLocal] |
| - f = function f___2__r__crl______ () { |
| - var local = 3; |
| + f = function f___3___r__c_lt___l_ () { |
| + var local = 888; |
| deopt = false; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - return 2 + local; |
| + throw 2 + ex; |
| counter++; |
| } |
| counter++; |
| + return 5 + local; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| - // Variant flags: [alternativeFn2, tryReturns, doCatch, |
| - // catchReturns, catchWithLocal, deopt] |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, |
| + // catchWithLocal, catchThrows, endReturnLocal, deopt] |
| - f = function f___2__r__crl_____d () { |
| - var local = 3; |
| + f = function f___3___r__c_lt___ld () { |
| + var local = 888; |
| deopt = true; |
| try { |
| counter++; |
| - return invertFunctionCall(increaseAndThrow42); |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| counter++; |
| } catch (ex) { |
| counter++; |
| - return 2 + local; |
| + throw 2 + ex; |
| + counter++; |
| + } |
| + counter++; |
| + return 5 + local; |
| + } |
| + resetOptAndAssertResultEquals(19, f); |
| + assertEquals(2, counter); |
| + |
| + // Variant flags: [alternativeFn3, tryReturns, doCatch, |
| + // catchReturns] |
| + |
| + f = function f___3___r__cr_______ () { |
| + var local = 888; |
| + deopt = false; |
| + try { |
| + counter++; |
| + return 4 + invertFunctionCall(increaseAndThrow42); |
| + counter++; |
| + } catch (ex) { |
| + counter++; |
| + return 2 + ex; |
| counter++; |
| } |
| counter++; |
| } |
| - resetOptAndAssertResultEquals(15, f); |
| + resetOptAndAssertResultEquals(19, f); |
| assertEquals(2, counter); |
| } |
| %NeverOptimizeFunction(runThisShard); |
| -// 94 tests in this shard. |
| -// 94 tests up to here. |
| +// 97 tests in this shard. |
| +// 97 tests up to here. |
| runThisShard(); |