perf($parse): Inline constants
Inline constants definitions in function calls, array definitions
and object values.
For the expression [1, {foo: "bar"}, 1 + 2] it changes it from
```js
// After some reordering and cleanup
var v1 = 1;
var v2 = "bar";
var v3 = {foo: v2};
var v4 = 1;
var v5 = 2;
var v6 = plus(v4, v5);
var v7 = [v1, v3, v6];
return v7;
```
to
```js
return [1, {foo: "bar"}, plus(1, 2)];
```
Expression parts that are not constants did not change, and still generate a lot
of intermediate variables.
Closes: #14293 L
Lucas Mirelmann committed
bd7d5f6345439aa2d1da708ffee20b4c565131d4
Parent: 3cd00fa