Nikolay Krasko
faeb5d21ab
Revert "[FE 1.0] Provide an API to clean compile time initializer cache for variable descriptor"
...
This reverts commit 0e6762acc3 .
2021-12-10 16:54:55 +03:00
Alexander Udalov
a95375cd9f
JVM IR: extract separate module backend.jvm.codegen
...
The main benefit is that now lowerings and codegen are compiled in
parallel, which speeds up the build. Hopefully, this will also improve
incremental compilation in case of implementation changes because the
rest of the compiler (cli & tests) has no "api" dependency on lowerings
and codegen.
2021-12-09 21:05:49 +01:00
Alexander Udalov
616cec8527
JVM IR: decouple JvmBackendContext from intrinsic implementation
2021-12-09 21:05:49 +01:00
Alexander Udalov
3582188faa
JVM IR: move type/signature mapping to subpackage 'mapping'
2021-12-09 21:05:49 +01:00
Alexander Udalov
3c9e3b7ed4
JVM IR: remove most dependencies of common backend.jvm code on codegen
2021-12-09 21:05:48 +01:00
Alexander Udalov
166f09c409
JVM IR: move indy handle generation logic to MethodSignatureMapper
...
JvmInvokeDynamic.kt is a part of intrinsics which are going to be
moved into a separate module, which backend.lower won't depend on.
2021-12-09 19:59:42 +01:00
Alexander Udalov
b0c5ea4717
JVM IR: remove dependencies of lowerings on codegen
...
Move out utilities which are used both in lowerings and codegen to
JvmIrUtils and JvmIrTypeUtils, and introduce new JvmIrCoroutineUtils and
JvmIrInlineUtils (probably can be renamed or moved somewhere more
appropriate in the future).
2021-12-09 19:59:42 +01:00
Alexander Korepanov
bf57e33713
[JS IR] Add an implicit cast to int32 for the shru operator
...
^KT-20791 Fixed
2021-12-09 14:10:03 +00:00
Alexander Korepanov
a34c97ebd5
[JS IR] Generate context dependent names for anonymous objects and classes.
2021-12-09 13:56:25 +00:00
Artem Kobzar
b1643075f2
fix(KT-50040): remove the corresponding symbol from top-level accessors.
2021-12-09 13:39:35 +00:00
Victor Petukhov
0e6762acc3
[FE 1.0] Provide an API to clean compile time initializer cache for variable descriptor
2021-12-09 16:15:24 +03:00
Dmitry Petrov
3017397960
JVM_IR fix string concatenation performance issues
...
KT-50080 KT-50084 KT-50140
2021-12-09 15:32:13 +03:00
Ivan Kochurkin
fa41e0f5a9
[FIR2IR] Minor: reuse calculated expression
2021-12-09 12:31:25 +00:00
Roman Artemev
dc1155de24
[JS IR] Erase IrErrorType into IrErrorType
2021-12-08 20:18:16 +03:00
Roman Artemev
002d6723ac
[KLIB] Fix partially-linked mode
...
- don't mark super classes as unlinked if its type argument is
- check IrCall type as well
2021-12-08 20:18:15 +03:00
Dmitry Petrov
93713a9ad4
JVM_IR KT-47939 use FunInterfaceConstructorReference as base class
2021-12-08 14:12:41 +03:00
Dmitry Petrov
0ccd7a7e0c
KT-47939 fun interface constructor reference should throw NPE for null
2021-12-08 14:12:41 +03:00
Dmitry Petrov
9eeb8f54fb
JVM_IR KT-47939 fixes after review
2021-12-08 14:12:39 +03:00
Dmitry Petrov
e179598457
JVM_IR KT-47939 equality for fun interface constructor references
2021-12-08 14:12:38 +03:00
Dmitry Petrov
50b0dae786
KT-47939 fixes after review
2021-12-08 14:12:37 +03:00
Dmitry Petrov
27a144f86f
PSI2IR KT-47939 callable references to fun interface constructors
2021-12-08 14:12:34 +03:00
Ilya Goncharov
00289d3514
rra/ilgonmic/exported-bridges-2
...
[JS IR] Use js name for signature
[JS] bridgeSavingExport only for JS IR
[JS IR] Fix test
[JS IR] Stable and non stable signatures
[JS IR] Consider return type in js signature and erase for JS name signature
[JS IR] Copy signature from wasm to JS and export bridge, not original
Merge-request: KT-MR-5174
2021-12-08 08:30:14 +00:00
Ilya Goncharov
0c74376cc4
rra/ilgonmic/after-test-promise
...
[JS] Node downloading for js ir integration kotlin test
[JS] Fix API of Promise
[JS IR] Promise symbol as lazy2
[JS] Support legacy compiler aftertest with promises
[JS IR] Generate finally for promised tests
[JS] Setup it tests for JS IR kotlin-test
Merge-request: KT-MR-5168
^KT-49738 fixed
2021-12-08 08:22:53 +00:00
Alexander Udalov
1471602c9f
JVM IR: do not optimize properties with -Xno-optimized-callable-references
...
#KT-50019 Fixed
2021-12-08 03:15:49 +01:00
Igor Yakovlev
2e78a1cd90
[WASM] Fix invalid string literal encoding
2021-12-07 21:33:21 +03:00
Dmitry Petrov
100d7123c2
JVM_IR KT-50078 fix for-in-array loop bytecode shape
2021-12-07 17:41:59 +03:00
Dmitry Petrov
256aaa3388
Minor: extract *LoopHeader classes to separate files
2021-12-07 17:41:58 +03:00
Leonid Startsev
767c570af4
Load default values for annotation members from classfiles
...
so that defaults are available to synthetic implementations.
#KT-48181 Fixed
Implementation is for JVM IR; other backends & FIR need to be supported
separately.
2021-12-07 10:10:04 +00:00
Victor Petukhov
61d40403e7
[FE 1.0] Create captured star projection for self types by replacing type arguments deeply
...
^KT-49752 Fixed
2021-12-07 11:38:45 +03:00
Mads Ager
529944fe9c
[JVM_IR] Fix inline class default method codegen.
...
Do not coroutine transform static inline class replacements that
forward to a default interface suspend method. No boxing has to
take place on return (as the default interface method always
boxes) so we can simply forward the call.
^KT-49645 Fixed
2021-12-06 17:29:59 +01:00
Dmitriy Novozhilov
3519543831
[IR Test] Properly create empty dump for IR files witout source
2021-12-06 19:23:12 +03:00
Dmitry Petrov
7206c06d26
IR KT-50039 don't initialize outer 'this' in delegating constructor
2021-12-06 17:31:37 +03:00
Mikhael Bogdanov
ea58c858d1
JvmDefault. Support @JvmDefaultWithCompatibility annotation
...
#KT-48217 Fixed
2021-12-06 14:20:24 +01:00
Dmitriy Novozhilov
86404b8027
[FIR] Implement IR body generators for all FIR declarations generators in plugin prototype
2021-12-03 14:17:34 +03:00
Anton Bannykh
7b5fbb2985
[IR] add a TODO for the privateSignature
2021-12-03 12:58:25 +03:00
Anton Bannykh
4de69fb4b5
[JS IR] store signatures for private symbols separately from public
...
Those signatures are used in JS IR IC
2021-12-03 12:58:24 +03:00
Anton Bannykh
cb3538db92
Revert "[IR] support storing signatures for non-public symbols"
...
This reverts commit 33cd7e982c .
2021-12-03 12:58:24 +03:00
Anastasiya Shadrina
9e2271399e
[FE] Render context receivers for functions, properties, and classes
2021-12-02 20:25:05 +03:00
Anastasiya Shadrina
a59b9e78ac
[PSI2IR] Numeric promotion doesn't involve context receivers
2021-12-02 20:24:54 +03:00
Anastasiya Shadrina
a760865767
[PSI2IR] Generate safe calls correctly
2021-12-02 20:24:54 +03:00
Anastasiya Shadrina
229a009828
[PSI2IR] Revert synthetic property accessor call adjustment do can't have CR
2021-12-02 20:24:53 +03:00
Anastasiya Shadrina
7a86b4f20a
[PSI2IR] Synthetic property accessor call adjustment do can't have CR
2021-12-02 20:24:52 +03:00
Anastasiya Shadrina
bd4e51f304
[FE, PSI2IR] Pass context receivers when calling typealias constructor
2021-12-02 20:24:50 +03:00
Anastasiya Shadrina
cd2fbfed2e
[IR] Add context receivers count to KotlinIr.proto
2021-12-02 20:24:47 +03:00
Anastasiya Shadrina
17f24319d0
[IR, Tests] Add context receivers count to IR dump
2021-12-02 20:24:46 +03:00
Anastasiya Shadrina
c194f12cb4
[IR] Generate context receivers count for PersistentIr
2021-12-02 20:24:39 +03:00
Anastasiya Shadrina
617af898b0
[FE, IR] Support deserialization
2021-12-02 20:24:37 +03:00
Anastasiya Shadrina
2fbfee3e11
[PSI2IR] Fix parameter initialization for constructors with CR
2021-12-02 20:24:36 +03:00
Anastasiya Shadrina
4caf42804a
[IR] Revert changes to KFunctionProxy, put TODO
...
Context receivers are not yet available in FIR
2021-12-02 20:24:35 +03:00
Anastasiya Shadrina
d0794e6741
[IR] Make contextReceiverParametersCount abstract in IrFunction
2021-12-02 20:24:34 +03:00