Simon Krajewski
|
d7d3c366ca
do not inline constructors if the variable type differs (see #3967)
|
10 years ago |
Simon Krajewski
|
4806487d56
do not try to be too smart about inlining constructors (see #3967)
|
10 years ago |
Cauê Waneck
|
90ddbdfa14
[cs] Various enum-related fixes:
|
10 years ago |
Simon Krajewski
|
ba507a4d32
Revert "compare v_id instead of physical equality for variables to avoid issues with interp encoding"
|
10 years ago |
Dan Korostelev
|
194ba29a46
compare v_id instead of physical equality for variables to avoid issues with interp encoding
|
10 years ago |
Simon Krajewski
|
dd3f440ce7
add commented out implementation for #3524
|
10 years ago |
Simon Krajewski
|
a295f6990a
[inliner] make sure `i_captured` is always set when a local is read
|
10 years ago |
Simon Krajewski
|
33d8705813
insert cast when inlining abstracts and make constructor inlining more robust
|
10 years ago |
Simon Krajewski
|
ebac64a6cd
fix `make_constant_expression`
|
10 years ago |
Nicolas Cannasse
|
483cb0a4ff
avoid replacing local function args when outside of it in optimize_completion (close #2542)
|
10 years ago |
Simon Krajewski
|
409140003d
disable for folding for now (see #3792)
|
10 years ago |
Simon Krajewski
|
9935e719a9
traverse untyped AST so we don't have to type it
|
10 years ago |
Simon Krajewski
|
fa4e0af33d
add `-D loop_unroll_max_cost=int` flag and cancel loop unrolling at 250 by default
|
10 years ago |
Simon Krajewski
|
5030cdd716
exit loop unrolling if we find a break or continue
|
10 years ago |
Simon Krajewski
|
b9010e7321
support loop unrolling for `for (i in [1, 2, 3])` (see #3784)
|
10 years ago |
Simon Krajewski
|
ff66cf7201
move TFor inlining to optimizer so we can utilize it during optimization at some point (see #3663)
|
10 years ago |
Simon Krajewski
|
f996b26c63
store type parameters in FClosure too
|
10 years ago |
Simon Krajewski
|
ea996a6d47
disable abstract inline change for now (see #2236) (see #3713)
|
10 years ago |
Simon Krajewski
|
5da8ea7d5c
[inliner] change type of abstract `this` expression to preserve it (closes #2236) (closes #3713)
|
10 years ago |
Nicolas Cannasse
|
4b122ac0a1
fixed insane Std.instance bug (see #3642)
|
10 years ago |
Simon Krajewski
|
79d97c4ea0
[typer] fix forced inline detection (see #3542)
|
10 years ago |
Simon Krajewski
|
98eb90ff89
[inliner] disable unification (see #3542)
|
10 years ago |
Simon Krajewski
|
14ab779d70
[js] inline ALL the things (if the analyzer is there)
|
10 years ago |
Simon Krajewski
|
a5db8fa477
[inliner] remove bogus upcast detection (closes #3486)
|
10 years ago |
Simon Krajewski
|
6518bc9cf0
keep position of identifier in for loop when optimizing it to a while loop
|
10 years ago |
Simon Krajewski
|
b5ee300a3a
do not consider `Null<T>` and `T` equal when determining if an inlined expression requires a cast (see #3585)
|
10 years ago |
Dan Korostelev
|
2867aab0c8
store only type params in the IKCtor as the class is already there (see #3586, thanks @Simn)
|
10 years ago |
Dan Korostelev
|
02205ede69
use actual class type for constructor inlining, because the type of a variable can be abstract (closes #3586)
|
10 years ago |
Gama11
|
01b6d6a573
Fix typo in error message
|
11 years ago |
Simon Krajewski
|
5ed8dc3ff6
do not cancel constructor inlining when assigning to an "unknown" field, instead add that field to the field list
|
11 years ago |