Commit Graph

87184 Commits

Author SHA1 Message Date
Dmitry Petrov f4dd75e769 JVM_IR don't inline temporary val for 'when' subject 2021-08-24 18:56:21 +03:00
Dmitry Petrov f4a1e27124 JVM optimize unneeded temporary vals 2021-08-24 18:56:20 +03:00
Dmitry Petrov d8f6d82411 JVM don't optimize temporary vals in old back-end 2021-08-24 18:56:19 +03:00
Dmitry Petrov 568958492a JVM_IR optimize temporary vals initialized with other vals 2021-08-24 18:56:18 +03:00
Dmitry Petrov 939f25333e JVM update testData 2021-08-24 18:56:17 +03:00
Dmitry Petrov fbcb07e3a2 JVM don't siplify CFG in TemporaryVariablesEliminationTransformer 2021-08-24 18:56:16 +03:00
Dmitry Petrov 7e943ab757 JVM don't optimize out starting ASTORE of TCB handler 2021-08-24 18:56:14 +03:00
Dmitry Petrov dcbc2ea2b3 JVM infer temporary vals from bytecode 2021-08-24 18:56:13 +03:00
Dmitry Petrov a4e299b8e1 JVM_IR don't evaluate static receiver if it's a variable 2021-08-24 18:56:12 +03:00
Dmitry Petrov 041773fd25 JVM optimize out temporary variables in bytecode 2021-08-24 18:56:11 +03:00
Dmitry Petrov bddfd086f6 JVM minor reuse updateMaxStack in CoroutineTransformerMethodVisitor 2021-08-24 18:56:10 +03:00
Dmitry Petrov 7b3d5b7863 JVM minor: extract base class from FixStackInterpreter 2021-08-24 18:56:09 +03:00
Alexander Udalov 4f29c113b7 Remove KotlinCompilerVersion.IS_PRE_RELEASE
Now, milestones of major Kotlin releases (e.g. 1.6.0-M1) will NOT
generate prerelease binaries anymore.

The reason for that is it's proven to be quite a complicated process to
turn on IR_PRE_RELEASE after the release is branched, perform double
bootstrap and fix tests, and then do it again in reverse just before
release. With the new release cadence, we don't have that much time to
do it and verify that everything works as intended.

Note that this only removes the "global" prerelease flag. Compiler will
still generate prerelease binaries if a non-stable language version is
used. For example, Kotlin 1.6.0-M1 with `-language-version 1.7` will
generate prerelease binaries.
2021-08-24 16:23:42 +02:00
Alexander Udalov 6de823396b Minor, fix Apache license template text 2021-08-24 16:23:05 +02:00
nataliya.valtman 260d301100 Report compiler performance data to ES 2021-08-24 16:33:13 +03:00
nataliya.valtman 7357aeb1c9 Add output size to ES metrics 2021-08-24 16:33:12 +03:00
Stanislav Erokhin 9becb2c468 Add compiler performance metrics
WIP
2021-08-24 16:33:12 +03:00
nataliya.valtman 64da19cb2d Add Artifact Transform stat into ES 2021-08-24 16:33:11 +03:00
Sergey Bogolepov e9e986dd61 Adjust CommonizerIT to MinGW cross-compilation 2021-08-24 19:14:56 +07:00
Ilya Gorbunov d726b00c33 stdlib-docs: Download dokka from teamcity 2021-08-24 10:48:35 +00:00
Ilya Gorbunov 64021f65e4 stdlib-docs: Allow to set dokka_version with property 2021-08-24 10:48:34 +00:00
Ilya Gorbunov aba0c715bd stdlib-docs: dokka can't stand windows path separator in sourcelink path 2021-08-24 10:48:34 +00:00
Ilya Gorbunov 3e82a20f16 stdlib-docs: update ant version 2021-08-24 10:48:34 +00:00
Alexander Udalov 75b8d44be5 Minor, fix some typos/errors in test-infrastructure ReadMe 2021-08-24 12:28:31 +02:00
Alexander Udalov 8d4f26cf84 IR: use inlineClassRepresentation in getInlineClassUnderlyingType
Looking for the primary constructor manually doesn't work if it's
private in the other module on JVM, because private declarations are
skipped in IrLazyClass.
2021-08-24 12:28:31 +02:00
Alexander Udalov 66dbd91851 IR: minor, remove unused 'isInlined' 2021-08-24 12:28:31 +02:00
Alexander Udalov 8b44b69982 Minor, add definitelyNonNull type flag in metadata as a comment 2021-08-24 12:28:31 +02:00
Svyatoslav Scherbina 5e789f86ee Support Native binary options in Gradle
Both project properties and per-binary DSL are available.
2021-08-24 09:36:24 +00:00
Svyatoslav Scherbina 9877a7271a Native: use binary options machinery for memory model
Old compiler flag (-memory-model) will work too.
2021-08-24 09:36:23 +00:00
Svyatoslav Scherbina ee3663afa4 Native: use binary options machinery for runtime assertions mode 2021-08-24 09:36:23 +00:00
Svyatoslav Scherbina 7cc1ea8801 Native: introduce binary options machinery 2021-08-24 09:36:22 +00:00
Mikhail Glukhikh 18cc498763 Fix deprecated smart casts in sources (around KT-48101) 2021-08-24 12:32:30 +03:00
Mikhail Glukhikh 12726bde15 Deprecate smart cast on alien derived property #KT-48101 Fixed 2021-08-24 12:32:30 +03:00
Mikhail Glukhikh 3f8734f694 FIR: determine synthetic accessor modality more precisely
Related to KT-47542
2021-08-24 12:32:30 +03:00
Mikhail Glukhikh bbb76aae3f Provide more precise check for ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
#KT-47542 Fixed
2021-08-24 12:32:30 +03:00
Svyatoslav Scherbina 7f12cda233 Native: quick fix lazy init order problem
Initialize main-thread-bound properties along with shared properties

^KT-48364 Fixed
2021-08-24 09:24:16 +00:00
Svyatoslav Scherbina ff46a63ffa Native: quick fix lazy init boxing issue
FileInitializersLowering shouldn't expect codegen to initialize field
statically if constant literal is going to be boxed

^KT-48364
2021-08-24 09:24:16 +00:00
Sergey Bogolepov 9dd8266bee [K/N] Add trivial test for llvm.objc.clang.arc.use lowering 2021-08-24 10:19:33 +03:00
Sergey Bogolepov 690d0689a1 [K/N] Add ObjCARCContract LLVM pass. 2021-08-24 10:19:31 +03:00
Sergey Bogolepov 1eb960783a Bump native version
The new version has MinGW enabled as cross-target.
2021-08-24 11:05:39 +07:00
Roman Artemev 22cd20781e [JS IC] Support per-file invalidation in CLI
- now disabled
2021-08-24 01:09:18 +03:00
Roman Artemev 001d3d8bc2 [JS IC] Implement per-file cache invalidation algorithm
- track inline graph
 - not finished yet, it's a POW
2021-08-24 01:09:18 +03:00
Roman Artemev cccca56c18 [JS IC] Implement inline call graph tracker and inline hash computer 2021-08-24 01:09:17 +03:00
Roman Artemev 1f11aa00c0 [JS IC] Implement IC cache provider and consumer to access IC data 2021-08-24 01:09:16 +03:00
Roman Artemev 76690c081a [KLIB] Provide required API for IC invalidation 2021-08-24 01:09:16 +03:00
Roman Artemev 4ad2572085 [JS IC] Delete only PIR related part of IC Cache, not the whole dir 2021-08-24 01:09:14 +03:00
Roman Artemev 03b66ab51e [IR] Add API into IdSignature to filter inaccessible function in IC 2021-08-24 01:09:14 +03:00
Roman Artemev 35e16d2db6 [JS IC] Extract PIR cache IO into separate functions 2021-08-24 01:09:13 +03:00
Roman Artemev 7d8c86caf1 [KLIB] Add API to access file's part of data as ByteArray
It requires for computing fingerprint of IrFile in IC infra
2021-08-24 01:09:12 +03:00
Roman Artemev e4c2d4937f [KLIB] Extract signature deserialization into separate class 2021-08-24 01:09:11 +03:00