Dmitry Petrov
b93dff003f
JVM_IR configure loop shape in the backend context
2021-07-29 20:45:15 +03:00
Dmitry Petrov
38d6c8ded0
JVM_IR generate range loops as counter loops when possible
2021-07-29 20:45:14 +03:00
pyos
e9b177352c
JVM_IR: do not inline reads of constructor arguments into accessors
2021-07-28 02:16:01 +02:00
Dmitry Petrov
34f5b85ae5
IR KT-47840 fix-point solution for closure conversion
2021-07-23 14:58:23 +03:00
Roman Artemev
334e34b70b
[JS PIR] Fix inliner. Do not mutate existed statement list
...
Such list could be part of PIR structures
2021-07-22 21:56:56 +03:00
Anton Bannykh
002f4210f7
IR: pass information about the declaration being lowered to the infrastructure
2021-07-22 21:56:51 +03:00
Leonid Startsev
83c1a75c1e
Revert "Revert "Instantiation of annotations for JVM IR with the corresponding feature flag""
...
Fix incorrectly rebased ce0a3a57df
This reverts commit 3d0126d5
2021-07-21 18:24:07 +03:00
Leonid Startsev
3d0126d5dd
Revert "Instantiation of annotations for JVM IR with the corresponding feature flag"
...
because of incorrect rebase
This reverts commit ce0a3a57
2021-07-21 15:23:24 +03:00
Leonid Startsev
ce0a3a57df
Instantiation of annotations for JVM IR with the corresponding feature flag
...
Seperate checker for platforms that do not support this language feature yet
Synthetic implementations of annotations are generated on-demand with proper
equals, hashCode, and annotationType methods
#KT-47699 Fixed
2021-07-21 10:23:51 +00:00
Dmitriy Novozhilov
f3116cb64a
Fix NON_EXHAUSTIVE_WHEN_STATEMENT warnings in project code
2021-07-20 13:33:46 +03:00
Ilya Chernikov
51dc829aae
IR: Move unsigned classes loading from builtins back to symbols
...
see #KT-47540 for the motivation
2021-07-16 02:24:43 +03:00
Ilya Chernikov
56805dded8
[minor] IR: minor builtins infrastructure fixes
2021-07-16 02:24:40 +03:00
Ilya Chernikov
48a3c64901
IR: Refactor primitive arrays handling in the new IrBuiltIns
...
for better compatibility e.g. with native
2021-07-16 02:24:20 +03:00
Ilya Chernikov
dee0487185
IR: Refactor IrBuiltIns to abstract it from descriptors
2021-07-16 02:24:18 +03:00
Georgy Bronnikov
931733f8cc
JVM_IR: deal with JvmStatic in imported IR
2021-07-14 21:20:22 +03:00
Elena Lepilkina
2477ea80c6
Reverted loops order processing in ForLoopsLowering
2021-07-13 09:22:12 +00:00
Elena Lepilkina
c096e6a3eb
[K/N] Analyze vals in bounds check elimination
2021-07-13 09:22:11 +00:00
Elena Lepilkina
9503627864
Changed an order of processing loops in ForLoopsLowering
2021-07-13 09:22:11 +00:00
Elena Lepilkina
0e04c21625
[K/N] Bounds check elimination in basic for loops forms
2021-07-13 09:22:10 +00:00
Elena Lepilkina
ac074207c7
[K/N] ForLoopsLowering: Use get without bounds check in ArrayIterationHandler
2021-07-13 09:22:08 +00:00
Ilmir Usmanov
ac7538a269
Set receivers for inline class default function stub calls
...
Default function stubs have dispatch and receiver parameters, but
inline class methods are static by design with receivers as ordinary
parameters. So, take these parameters and set them as receivers during
lowerings.
#KT-46230: Fixed
2021-07-12 19:46:09 +03:00
Alexander Udalov
d33debdf7c
IR: minor, cleanup Symbols
2021-07-10 15:33:25 +02:00
Zalim Bashorov
8da62b56fb
[IR] Put correct line numbers on return while inlining
...
#KT-46551 In Progress
2021-07-05 21:01:44 +03:00
Zalim Bashorov
d1f5ab4b09
[JS IR] Generate correct source locations in sourcemap for inline declarations
...
* Keep returnable blocks.
* Add a new lowering which simplifies returnable blocks by introducing
temporary variable for result and changing returnable block's type to Unit.
* Use information from returnable blocks in codegen to generate
the right source locations in sourcemap.
* Support in namer (LocalNameGenerator).
* Fix some lowerings to work correctly with returnable blocks.
#KT-46551 In Progress
2021-07-05 21:01:43 +03:00
Alexander Udalov
2834c22a85
IR: add BackendContext.typeSystem and JvmIrTypeSystemContext
...
To be able to override JVM-specific behavior of IrTypeSystemContext in
JVM IR, for things like JVM flexible types.
2021-07-01 19:35:44 +02:00
Roman Artemev
b5c28c1912
[KLIB] Introduce compatible mode for klibs.
...
Based on library ABI version linker could decide which signature mode
to be used to guarantee backward compatibility.
2021-07-01 17:40:36 +03:00
Dmitry Petrov
37b05cd9c2
JVM_IR KT-47120 treat outer name as case-insensitive for local classes
2021-06-30 14:04:22 +03:00
Zalim Bashorov
e947556aaa
[IR] Use separate directories for each module for IR dumps
...
It allows avoiding overwriting content generated for other modules.
Also, added using additional ".kt" prefix to file extension for dumps generated with Kotlin like syntax.
2021-06-26 01:38:04 +03:00
Anton Bannykh
1006eb0945
IR: fix offsets in constant folding lowering
2021-06-25 00:59:28 +03:00
Anton Bannykh
9d1a8b2d58
IR: fill type parameters in inline class static method delegation call
2021-06-25 00:59:27 +03:00
Anton Bannykh
61a08be6b4
JS IR: don't rename the local declarations
...
IR2JS handles clashing declarations anyway.
2021-06-25 00:59:25 +03:00
Anton Bannykh
a4cb70af31
JS IR: gather statement origins in one place
...
Preparing to serialize lowered IR
2021-06-25 00:59:22 +03:00
Iaroslav Postovalov
0ba3ddcc29
Minor. Fix a typo, change visibility of internal object
2021-06-16 10:22:44 +03:00
Dmitriy Dolovov
6bac016b3a
[IR] Support top-level callables in InventNamesForLocalClasses lowering
...
^KT-45304
2021-06-10 11:02:10 +03:00
Dmitriy Dolovov
9861cb0438
[IR] Commonize InventNamesForLocalClasses lowering
...
^KT-45304
2021-06-10 11:02:04 +03:00
Mikhail Glukhikh
cb232725f0
FoldConstantLowering: drop unnecessary experimental annotation
2021-06-08 11:37:25 +03:00
Roman Artemev
974779e91b
[JS IR] Support function reference to array inline constructor
2021-06-02 13:42:34 +03:00
Alexander Udalov
bcf47ddc94
Move optional annotation utilities to module 'resolution'
...
To avoid depending on a heavy module 'frontend' in parts of the compiler
where checking for optional annotations is needed, such as in
'ir.serialization.common'.
2021-06-01 20:28:22 +02:00
Alexander Udalov
8b3769b88e
Remove dependency of ir.serialization.common on ir.backend.common
2021-06-01 20:28:22 +02:00
Mads Ager
f846dd8ea2
[JVM_IR] Avoid using special names in static inline class replacements.
...
Fixes KT-46952
2021-06-01 16:22:14 +02:00
Vasily Levchenko
ecbae02f17
[IR][provisional function expression] another line information provider added for func_expression -> function_reference conversion
2021-05-31 11:45:31 +00:00
Ilya Goncharov
c62a965180
[IR] Not try Null constant in fold constant
...
^KT-46859 fixed
2021-05-25 22:29:58 +03:00
Dmitriy Dolovov
ab6f577964
[Native] Support suspend functions as supertypes (remove debug code)
...
^KT-46777
2021-05-21 17:31:46 +00:00
pyos
b2ef854aa1
JVM_IR: support @JvmStatic transformations in LateinitLowering
...
#KT-46759 Fixed
2021-05-19 16:23:01 +03:00
Dmitriy Dolovov
896929cb21
[Native] Support suspend functions as supertypes
...
^KT-46777
2021-05-19 16:09:38 +03:00
Steven Schäfer
60bc0f4baf
IR: Lower shared variables in enum entries (KT-46605)
2021-05-18 16:55:38 +02:00
Dmitriy Novozhilov
d114913cd2
Replace usages of addToStdlib.firstNotNullResult with firstNotNullOfOrNull
2021-05-14 14:30:19 +03:00
Mads Ager
2c5a4dcb98
[JVM IR] Fix constant folding to use basic types always.
...
Fixes KT-46540.
2021-05-12 11:57:20 +02:00
Dmitry Petrov
ac0aaff611
JVM_IR KT-46562 don't use LambdaMetafactory for Serializable SAMs
...
TODO support serializable lambdas creation with LambdaMetafactory
2021-05-10 14:54:14 +03:00
Mikhael Bogdanov
cbe3c66156
Generate function type parameter annotations and type annotations on their bounds into bytecode
...
Generate type parameter annotation by default for `-Xjvm-target 1.8` and above
#KT-46539
#KT-13228
#KT-46545 Fixed
2021-05-10 12:12:18 +03:00