Commit Graph

88714 Commits

Author SHA1 Message Date
Dmitriy Dolovov a338cc31cb [Native][tests] Gradle property: GCType 2021-12-29 16:27:37 +03:00
Dmitriy Dolovov 2b43dce1a5 [Native][tests] Gradle property: ThreadStateChecker 2021-12-29 16:27:37 +03:00
Dmitriy Dolovov 9dbb844742 [Native][tests] Gradle property: MemoryModel 2021-12-29 16:27:37 +03:00
Dmitriy Dolovov dbd7a05c7e [Native][tests] Gradle property: OptimizationMode 2021-12-29 16:27:37 +03:00
Dmitriy Dolovov 46f2c6ee10 [Native][tests] Remove test grouping tasks: dailyTest & fullTest
Need to rethink test grouping tasks before returning them back.
2021-12-29 16:27:37 +03:00
Ivan Kylchik 493d9a49cb Drop jmh benchmarks for light-tree2fir
These benchmarks are not used and interfere with FIR IDE plugin.
2021-12-29 16:23:12 +03:00
Anton Bannykh 1b631da3a0 [JS IC] fix cross-module nested class references and interface inheritance
^ KT-50528 fixed
2021-12-29 16:04:06 +03:00
Alexander Shabalin 3fe05233e2 [K/N] Fix set_terminate usage in ExceptionsTest.cpp
Merge-request: KT-MR-5376
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2021-12-29 12:58:35 +00:00
sebastian.sellmair 353593fa77 [MPP] Add documentation to .configureTaskOrder() 2021-12-28 21:15:20 +00:00
sebastian.sellmair f9c70758a2 [MPP] Add CInteropMetadataDependencyTransformationTaskTest 2021-12-28 21:15:19 +00:00
sebastian.sellmair 2e1fc15a9a [MPP] Only enable cinterop metadata transformation when cinterop commonization is enabled
Both library author and consumer need to enable cinterop commonization
in order to support libraries with commonized cinterops
in their API surface.
2021-12-28 21:15:19 +00:00
sebastian.sellmair 4d5446a174 [MPP] CInteropMetadataDependencyTransformationTask: Replace mutex
Replace previous 'mutex' output file in favour of proper
task ordering and task enabling.
2021-12-28 21:15:19 +00:00
sebastian.sellmair 146099e92e [MPP] Don't check commonizer classpath for UP-TO-DATE mechanism
Using a different commonizer classpath is a very uncommon practice.
Checking the classpath for Gradle's UP-TO-DATE mechanism is
already misleading, because we are relying on a custom UP-TO-DATE
implementation that will not include this classpath anyway.

Removing this input is intended to improve commonizer startup time.
2021-12-28 21:15:18 +00:00
Ivan Kylchik 6fc56477bf Drop all tests that disable features for language version less than 3 2021-12-28 20:08:56 +03:00
Ilmir Usmanov 549ea1a3b9 If fun interface methods are already mangled, do not mangle them twice
There are two possible scenarios, when fun interface method with inline
class parameter can be compiled.

First is when we compile fun interface itself before SAM adapter. In
that case, fun interface is lowered before we lower SAM adapter. Thus,
its method is mangled and mangling in the second time is an error.

Second is when we compile SAM adapter before the fun interface. In that
case, fun interface is not lowered, and we have to mangle the method.

The only way to distinguish there two cases I can think of is to check
whether the overridden method is already mangled, in other words, check,
whether the overridden method's suffix is doubled.

 #KT-48499: Fixed
2021-12-28 17:35:12 +01:00
Sergej Jaskiewicz 71732afae0 [JS IR] Copy JS artifacts to the build directory if the compiler crashes
Previously in 3fb1096c18 we've implemented
dumping the IR after each phase when running JS IR box tests.

However, because those dumps are saved to a temporary directory,
they can be lost in case we never make it to
`jsArtifactsHandlersStep` where files from that temporary
directory were copied to the `build/out` directory.
This could happen if, for example, the compiler crashed.
In that case, having IR dumps is even more useful, as they can help
investigate the crash.

Here we make `JsArtifactsDumpHandler` an `AfterAnalysisChecker` so that
it runs no matter what.
2021-12-28 14:42:04 +00:00
Alexander Udalov 9a9a8f1999 Restore support of language version 1.3
#KT-50251 Fixed

(cherry picked from commit a0004ed03adc9f50f26c8b11d178afcc2abf2a9c)
2021-12-28 13:21:18 +01:00
Alexander Udalov 92c80873ba Revert "JVM: remove support for disabling NoConstantValueAttributeForNonConstVals"
This is a partial revert of e857966edb.

Specifically, behavior is restored in the old backend, which will allow
to support language version 1.3, where this language feature was not
enabled yet. There are no changes in the JVM IR backend, because to
enable JVM IR with LV 1.3, you need to pass the compiler argument
`-Xuse-ir` which is not stable and we don't guarantee anything about it.

 #KT-50251
2021-12-28 13:21:18 +01:00
Alexander Likhachev 5097d426c1 [Gradle] Mark MetricsWriter with Serializable interface
#KT-50549 Fixed
2021-12-28 12:05:09 +00:00
Alexander Likhachev 426faf4ca6 [Gradle] Add test for KT-50549 2021-12-28 12:05:08 +00:00
Sergey Igushkin cb9dfc8e01 KT-50509: Optimize the performance of whenEvaluated { ... } wrapper
The Gradle API `pluginManager.withPlugin(id) { ... }` turned out to have
a significant performance footprint due to operations on underlying
immutable collections.

We can replace calls to `withPlugin` with checks of `hasPlugin` running
on each applied plugin.

Issue #KT-50509 Verification pending
2021-12-28 10:09:42 +00:00
Roman Artemev 723ef8f1fb [KLIB] Deserialize backing field initializers of const in IB-only mode
Missing const initializer leads to crash in property accessors inline
lowering during IC recompilation on JS.

 - fix #KT-50512
 - add test for JS IR IC
2021-12-27 23:43:43 +03:00
mvicsokolova 188d073cc3 kotlinx.atomicfu compiler plugin (JS): tracing supported. (#4691)
* kotlinx.atomicfu compiler plugin (JS): tracing supported.

* Erasing trace invocations from both IrBlock and IrBlockBody.
2021-12-27 23:20:08 +03:00
Victor Petukhov 29f174f074 Revert "Revert "Temporary workaround for failing tests on teamcity.""
This reverts commit 2c51799e0a.
2021-12-27 22:56:01 +03:00
Victor Petukhov 9c225c5b56 Revert "[Compiler CLI] Use LanguageVersion.LATEST_STABLE instead of KotlinVersion.CURRENT for java type enhancement settings to prevent dependency on kotlin version."
This reverts commit 0689d74353.
2021-12-27 22:56:00 +03:00
Martin Petrov 50250ccf65 [Native] Escape the module name in the C adapter.
This previously failed if the module name contaned dots or dashes, e.g.

```
kotlinc-native ~/test.kt -produce static -module-name="foo-bar.baz"
```

This change espaces `-` and `.` similar to `ObjCExportNamer`'s `abbreviate`.
2021-12-27 19:45:14 +03:00
Yahor Berdnikau f895e92b11 Bump Gradle 7.3 version to 7.3.3
^KT-45745 In Progress
2021-12-27 15:19:19 +01:00
Yahor Berdnikau 3fca808b63 Revert "Revert "Set minimal supported Gradle version to 6.7.1.""
This reverts commit 2aa1c187d9.

^KT-49733 Fixed
2021-12-27 15:19:15 +01:00
Ilya Kirillov 4d7af4beae Analysis: fix imports and module names 2021-12-27 16:23:46 +03:00
Ilya Kirillov ec0123663b Fix analysisAllTests task name 2021-12-27 16:23:28 +03:00
Ilya Kirillov 4c94e2958e Analysis: add more run configurations 2021-12-27 16:23:22 +03:00
Ilya Kirillov 62c9a7888b Analysis: remove // FIR_COMPARISON form LC testdata as LC tests are moved from IJ 2021-12-27 16:23:21 +03:00
Ilya Kirillov 4e58dc3467 Fix small compilation problems in LC testdata which should not influence LC results 2021-12-27 16:23:21 +03:00
Ilya Kirillov 02f9f116b2 Analysis: ignore failing LC test 2021-12-27 16:23:20 +03:00
Ilya Kirillov db31e0292c Analysis: add LC testdata with current behaviour 2021-12-27 16:23:20 +03:00
Ilya Kirillov 0b3a0fd799 Analysis: fix LC test environment 2021-12-27 16:23:19 +03:00
Ilya Kirillov 2c80a53a73 Analysis: generate symbol LC tests 2021-12-27 16:23:18 +03:00
Ilya Kirillov 40fdb26569 Analysis LC: introduce Symbol LC tests 2021-12-27 16:23:18 +03:00
Ilya Kirillov abf7a4c5ac Introduce ConcurrentMapBasedCache 2021-12-27 16:23:17 +03:00
Ilya Kirillov 1bba3b2256 Migrate decompiled light classes factories from IJ 2021-12-27 16:23:17 +03:00
Jinseong Jeon 09f5ec7bd3 FIR LC: add supports for decompiled declarations 2021-12-27 16:23:16 +03:00
Ilya Kirillov aa87524513 Migrate stub and psi builders by classfiles form IJ repository 2021-12-27 16:23:16 +03:00
Ilya Kirillov 0efc819e48 Fix invalid repeatable annotations loading in sutb builder 2021-12-27 16:23:16 +03:00
Ilya Kirillov d2832697d9 Move stub building test generation to analysis generator 2021-12-27 16:23:15 +03:00
Ilya Kirillov 1e9764c639 Move stub building from psi module to analysis module 2021-12-27 16:23:14 +03:00
Ilya Kirillov cd3905e400 Fix dependencies to intellij modules after gradle dependency DSL update 2021-12-27 16:23:13 +03:00
Ilya Kirillov b563824b35 Migrate LightMemberOriginForCompiledElement from IJ repository 2021-12-27 16:23:13 +03:00
Ilya Kirillov 764ad8b9fa Move light classes for decompiled declarations from IJ repository 2021-12-27 16:23:12 +03:00
Ilya Kirillov fceb46924e Move decompiler from IJ repository
This commit just moves files and fixes imports
2021-12-27 16:23:11 +03:00
Ilya Kirillov a367fee5cf Add newly added modules to the list of compiler modules 2021-12-27 16:23:11 +03:00