* Fix destructuring evaluation with call expressions Do not optimize destructions with callExpressions, as the call might change the value of a variable that we are assigning to. Fixes #4054 * Also deopt on member expressions members expressions might be getters who have side effects
37 lines
652 B
JavaScript
37 lines
652 B
JavaScript
var a = 1;
|
|
var b = 2;
|
|
var a = 1;
|
|
var b = 2;
|
|
var a = 1;
|
|
var b = 2;
|
|
var c = [3, 4];
|
|
var a = 1;
|
|
var b = 2;
|
|
var c = [3, 4];
|
|
var _ref = [1, 2, 3];
|
|
var a = _ref[0];
|
|
var b = _ref[1];
|
|
var _ref2 = [1, 2, 3];
|
|
var a = _ref2[0];
|
|
var b = _ref2[1];
|
|
var _ref3 = [a, b];
|
|
var a = _ref3[0];
|
|
var b = _ref3[1];
|
|
var _ref4 = [a[1], a[0]];
|
|
a[0] = _ref4[0];
|
|
a[1] = _ref4[1];
|
|
|
|
var _ref5 = [].concat(babelHelpers.toConsumableArray(foo), [bar]);
|
|
|
|
var a = _ref5[0];
|
|
var b = _ref5[1];
|
|
var _ref6 = [foo(), bar];
|
|
var a = _ref6[0];
|
|
var b = _ref6[1];
|
|
var _ref7 = [clazz.foo(), bar];
|
|
var a = _ref7[0];
|
|
var b = _ref7[1];
|
|
var _ref8 = [clazz.foo, bar];
|
|
var a = _ref8[0];
|
|
var b = _ref8[1];
|