Ilmir Usmanov
f16ea9dfbb
JVM: Reduce number of comparison on bytecode analysis merge
...
operations. Since these methods are hot - they are call on each branch,
even such primitive optimizations should give measurable speedup.
2023-09-14 15:35:51 +00:00
Ilmir Usmanov
5e2d3737f5
JVM: Do not traverse all suspension point when looking for end label
...
when extending local variable range.
2023-09-14 15:35:51 +00:00
Ivan Kylchik
95872bd13c
[JVM] Reuse findMergeNodes in FastStoreLoadAnalyzer
2023-09-14 15:02:03 +00:00
Ivan Kylchik
617e7d1a36
[JVM] Store VarInsnNode in StoreData instead of AbstractInsnNode
...
This way we can avoid some casts.
2023-09-14 15:02:03 +00:00
Ivan Kylchik
140ccccae3
[Minor] Drop unused method from CompositeMethodTransformer
2023-09-14 15:02:03 +00:00
Ivan Kylchik
f9868f757b
[JVM] Simplify StoreLoadInterpreter and StoreLoadFrame
2023-09-14 15:02:03 +00:00
Ivan Kylchik
0e9d884b0b
[JVM] Slightly rewrite mergeControlFlowEdge in FastStackAnalyzer
...
This change is supposed to show how similar
`mergeControlFlowEdge` methods are, and maybe
we should combine them.
2023-09-14 15:02:03 +00:00
Ivan Kylchik
6f8e243f0b
[JVM] Avoid inheritance from FastMethodAnalyzer
...
This way it is easier to analyze code.
2023-09-14 15:02:03 +00:00
Ivan Kylchik
5f27e1a6b2
[JVM] Make FixStackAnalyzer inherit FastStackAnalyzer
2023-09-14 15:02:02 +00:00
Ivan Kylchik
f49f6656b9
[JVM] Move private extension methods into FixStackFrame
2023-09-14 15:02:02 +00:00
Ivan Kylchik
2c4c3a73b8
[JVM] Move initLocals method into FastAnalyzer
2023-09-14 15:02:02 +00:00
Ivan Kylchik
83c75c1edf
[JVM] Unify initLocals method in Fast...Analyzer classes
2023-09-14 15:02:02 +00:00
Ivan Kylchik
02d8a62cb0
[JVM] Fully move analyze method into FastAnalyzer
2023-09-14 15:02:02 +00:00
Ivan Kylchik
abe727fdd7
[JVM] Extract common code from Fast...Analyzer into analyzeInner
2023-09-14 15:02:02 +00:00
Ivan Kylchik
e0dd3a33c0
[JVM] Extract unique code in Fast...Analyzer into analyzeInstruction
2023-09-14 15:02:02 +00:00
Ivan Kylchik
bf53268453
[JVM] Move computeExceptionHandlers into base FastAnalyzer
2023-09-14 15:02:02 +00:00
Ivan Kylchik
98cc2c839f
[JVM] Create base FastAnalyzer class for all Fast...Analyzer
2023-09-14 15:02:02 +00:00
Ivan Kylchik
7853256c02
[JVM] Drop some excess toArray calls on instructions
2023-09-14 15:02:02 +00:00
Ivan Kylchik
d8e682ab30
[JVM] Drop insnsArray from Fast...Analyzer classes
...
We are using useless `toArray` can that we can avoid.
2023-09-14 15:02:02 +00:00
strangepleasures
cf01d2970f
[SLC] [KAPT] KT-61916 Fix generation of annotations in annotation arguments
2023-09-14 13:21:07 +00:00
Artem Kobzar
878452bd2b
[K/JS] Implement file merging for clashed file during per-file compilation
2023-09-14 13:14:15 +00:00
Ilya Muradyan
337054ba92
Scripting: Remove deprecated MavenRepositoryCoordinates class
2023-09-14 12:14:32 +00:00
Ilya Muradyan
f1f12bc192
Scripting: Reuse AetherSession if repositories didn't change
...
Repository system will be not reconstructed on subsequent calls
2023-09-14 12:14:32 +00:00
Ilya Muradyan
b1347d7616
Scripting: Unify artifacts resolution for partial and non-partial cases
2023-09-14 12:14:32 +00:00
Ilya Muradyan
841cc8eb43
Scripting, KT-61727: Make it possible to resolve multiple artifacts at once
...
For MavenDependenciesResolver it improves performance drastically
depending on how strong transitive dependencies of the roots interfere
^KT-61727 Fixed
2023-09-14 12:14:32 +00:00
Kirill Rakhman
0d628c9e59
[FIR] Inline FirExpression.coneTypeSafe und use resolvedType
...
The call-sites don't actually need to handle unresolved expressions,
they only need safe-casts to ConeClassLikeType or
ConeIntegerLiteralType.
#KT-61367
2023-09-14 10:03:03 +00:00
Kirill Rakhman
a4fff7c7c0
[FIR] Inline FirExpression.coneTypeUnsafe
...
#KT-61367
2023-09-14 10:03:03 +00:00
Kirill Rakhman
126f2c9440
[FIR] Skip published visibility computation for local functions
...
This fixes an exception caused by annotations being unresolved during
status computation.
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
f0112040fc
[FIR AA] Unmute passing test
2023-09-14 10:03:02 +00:00
Kirill Rakhman
aebb3bf0ee
[FIR AA] Use resolvedType instead of coneTypeOrNull where applicable
...
#KT-61367 Fixed
2023-09-14 10:03:02 +00:00
Kirill Rakhman
6d8091f0ff
[FIR] Add workaround for unresolved array literal type #KT-61843
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
462687ed66
[FIR] Don't resolve call in annotation arguments phase if receiver type isn't resolved
...
This prevents exceptions from being thrown during resolution of red code
because FirExpression.resolvedType is called but during annotation
arguments phase we don't have return types for implicitly typed
declarations.
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
66b911c923
[FIR] Migrate compiler.fir to use resolvedType where applicable
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
1c6776b2b4
[FIR] Introduce extension FirExpression.isResolved that requires no opt-in
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
e0b5fa1de8
[FIR] Add opt-in for FirExpression.coneTypeOrNull in scripting
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
b9b99366e7
[FIR] Use resolvedType instead of coneTypeOrNull in java.deserialization
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
b1565d547c
[FIR] Use resolvedType instead of coneTypeOrNull in FIR2IR
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
c3abe28049
[FIR] Use resolvedType instead of coneTypeOrNull in checkers
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
e8731f3f31
[FIR] Use resolvedType instead of coneTypeOrNull in tests
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
5d6affc38d
[FIR] Update FIR utilities
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
a49fdeb05b
[FIR] Update manual implementations of FirExpression
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
68bc2be4c9
[FIR] Regenerate FIR types
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
6ec419edb7
[FIR] Update FIR schema to add opt-in to FirExpression.coneTypeOrNull
...
#KT-61367
2023-09-14 10:03:01 +00:00
Dmitriy Dolovov
b3cb8870e0
[IR][JS] Always drop expect declarations prior IR serialization
...
^KT-61136
2023-09-14 09:13:39 +00:00
Ivan Kylchik
ede6eb0b34
[IR] Print exception's class in error message from interpreter
2023-09-14 08:47:06 +00:00
Ivan Kylchik
2df5b48474
[IR] Report error from IR interpreter on field recursive initialization
...
#KT-59890
#KT-61802 Fixed
2023-09-14 08:47:06 +00:00
Dmitriy Dolovov
98b3bdb175
[K1] Rename analysis flag expectActualLinker
...
Rename analysis flag `expectActualLinker` to `skipExpectedActualDeclarationChecker`
to better reflect its semantics. This flag isn't used on IDE plugin side, so no
additional changes in `intellij` repo are needed.
^KT-61136
2023-09-14 07:32:18 +00:00
Nikolay Krasko
1af7649ee9
Use maven wrapper for reproducible build
2023-09-13 22:25:29 +00:00
Nikolay Krasko
83a2158744
Remove unused allowed jcenter dependencies
2023-09-13 22:25:29 +00:00
Dmitrii Gridin
7d42bfa859
[LL FIR] LLFirResolveTarget: mark class as internal
...
^KT-61296
2023-09-13 20:26:50 +00:00