Commit Graph

94132 Commits

Author SHA1 Message Date
Vsevolod Tolstopyatov 14b13a2f17 [kotlin.reflect] Introduce ClassValue-based cache for KClassImpl
* Replace pcollections with ClassValue/ConcurrentHashMap-based caches
* Do not store weak references, instead cache strong references and count on ClassValue to unload the corresponding classloader if necessary
* ConcurrentHashMap does not rely on WeakReference as it's only selected on Android where classloader leaks don't exist
* Update reflect/scripting JDK requirement to Java 8 in order to proceed

#KT-53454
#KT-50705


Merge-request: KT-MR-6788
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
2022-08-05 15:35:34 +00:00
konstantin.tskhovrebov d5164fbc86 [KT-47355] Support macOS targets in FatFramework task. 2022-08-05 15:10:47 +00:00
Ivan Kochurkin 09a72fd679 Extract immutable arrays to fields in IrBuiltInsOverFir 2022-08-05 13:20:41 +00:00
Ivan Kochurkin c0fe14a091 Make myExpressionParsing final (Parser) 2022-08-05 13:20:41 +00:00
Ivan Kochurkin daeb41b411 Minor fixes in parser 2022-08-05 13:20:40 +00:00
Ivan Kochurkin 1d73d4cfbf Reduce allocations in lastDotAfterReceiver (parsing) 2022-08-05 13:20:40 +00:00
Ivan Kochurkin cf190f0cf2 Use switch case statement instead of sequence of if comparisons in parser 2022-08-05 13:20:39 +00:00
Ivan Kochurkin 6bb2af142c Use static initialization for token sets that are used in expect method in Kotlin parser 2022-08-05 13:20:39 +00:00
Nikolay Krasko d65aa67425 Update dependency verification command 2022-08-05 12:50:57 +00:00
Nikolay Krasko 07d6431235 Forgotten md5 hashes in verification-metadata.xml 2022-08-05 12:50:57 +00:00
Nikolay Krasko 151944295d Minor: minor code cleanup in build.gradle.kts 2022-08-05 12:50:56 +00:00
Dmitry Gridin 807b9d2566 generators: update copyright to 2022 2022-08-05 14:12:42 +02:00
Dmitry Gridin 4ceb170917 regenerate tests 2022-08-05 14:12:41 +02:00
Dmitry Gridin f87410ff59 update copyright to 2022 2022-08-05 14:12:41 +02:00
Dmitry Gridin a925b6b47d [slc] reformat code
^KT-50241
2022-08-05 14:12:40 +02:00
Dmitry Gridin 4c3090e476 [slc] update copyright
^KT-50241
2022-08-05 14:12:40 +02:00
Dmitry Gridin 4419d7cd9e [slc] fix packages
^KT-50241
2022-08-05 14:12:40 +02:00
Dmitry Gridin 0016973d2e [slc] add todo
^KT-50241
2022-08-05 14:12:40 +02:00
Dmitry Gridin 6f40c097f1 [slc] cleanup code
^KT-50241
2022-08-05 14:12:40 +02:00
Sergej Jaskiewicz 2ece4f4dbf [JS IR] Improve the precision of execution of stepping tests 2022-08-05 11:53:40 +00:00
Pavel Punegov e08efa8e3b [K/N][perf] Set mingw path on Windows
Benchmark analyzer depends on curl. And needs a path to mingw binaries.

Merge-request: KT-MR-6797
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2022-08-05 11:05:12 +00:00
Sergey.Shanshin 7a8c864c5c Added serialization support for unsigned arrays as built-in 2022-08-05 10:09:56 +00:00
Sergey.Shanshin c538189501 Added serialization support for the kotlin.Nothing class as built-in 2022-08-05 10:08:39 +00:00
Sergey.Shanshin c2bdd51658 Added diagnostic for external serializers
Relates Kotlin/kotlinx.serialization#532
2022-08-05 09:31:58 +00:00
Hung Nguyen 17bf6be807 Improve log messages when failing to compile with daemon
Instead of letting `compileWithDaemon` return null, allow it to throw
exceptions so that the caller can catch those exceptions and log clearer
messages on why it failed.

^KT-31602 In progress
2022-08-05 08:47:43 +00:00
Hung Nguyen 98349411fb Always compile non-incrementally if incremental state is missing
Test: Updated IncrementalCompilationClasspathSnapshotJvmMultiProjectIT.
        .testMissingIncrementalState

^KT-53231 Fixed
2022-08-05 07:45:24 +00:00
Hung Nguyen 9ca411a64c Add integration test for the case where incremental state is missing
^KT-53231 In progress
2022-08-05 07:45:23 +00:00
Hung Nguyen 49209804f2 Add ability to debug Kotlin daemon in integration tests
^KT-53231 In progress
2022-08-05 07:45:23 +00:00
Hung Nguyen 0c5eda1382 Revise incremental compilation failure handling tests
Revise BaseIncrementalCompilationMultiProjectIT's failure handling
tests to make it clear we have covered 2 important scenarios:
 - Failures caused by user errors: testFailureHandling_UserError
 - Failures caused by tool errors: testFailureHandling_ToolError

^KT-53231 In progress
2022-08-05 07:45:22 +00:00
Hung Nguyen e006a7af57 Shrink snapshots non-incrementally after fallback
If incremental compilation fails, we currently fall back to
non-incremental compilation. When that happens, it would be incorrect to
shrink classpath snapshot incrementally, so this commit makes sure we'll
shrink classpath snapshot non-incrementally in that case.

^KT-53231 In progress
2022-08-05 07:45:22 +00:00
Anton Lakotka 4310778137 [Gradle] Make AbstractKotlinNativeCompile::manifestFile to be Provider
KT-43293
2022-08-05 04:25:22 +00:00
Anton Lakotka 0d3f8cf91a [Gradle] Make additionalCompilerOptions to be Provider in native tasks
This fixes BC that was introduced previous commits

^KT-43293
2022-08-05 04:25:22 +00:00
Anton Lakotka e07ef85e91 [Gradle] Use ProjectLayout in execution phase instead of Project.buildDir
It gives more flexibility during execution phase. Since `buildDir` is
not sealed in cached task state. But instantiated during the execution
phase.

^KT-43293
2022-08-05 04:25:21 +00:00
Anton Lakotka 656d823048 [Gradle] Make customJvmArgs and commonizerClasspath to be Gradle Inputs
Since it is necessary to re-run commonzier once values of these
properties are changed.

^KT-43293
2022-08-05 04:25:20 +00:00
Anton Lakotka 2427fdf5e2 [Gradle] Code review NITs
^KT-43293
2022-08-05 04:25:19 +00:00
Anton Lakotka d8fd282b39 [Gradle] Use explicit factory methods instead of constructor override
In KotlinNativeToolRunner Settings classes

^KT-43293
2022-08-05 04:25:19 +00:00
Anton Lakotka 51034e4e46 [Gradle] Fix PlatformCommonizer classpath configuration consumption
Make sure that Commonizer Tasks consume correct classpath configuration

^KT-43293
2022-08-05 04:25:18 +00:00
Anton Lakotka 7fedf22946 [Gradle] Use defaultBuildOptions in testNativeTasks
^KT-43293
2022-08-05 04:25:17 +00:00
Anton Lakotka 528584deaa [Gradle] Fix testHmppTasksAreNotIncludedInGradleConfigurationCache test
^KT-43293
2022-08-05 04:25:17 +00:00
Anton Lakotka e00f9c25a1 [Gradle] Update ConfigurationCacheIT test for native tasks
Since GenerateProjectStructureMetadata supports Configuration Cache

^KT-43293
2022-08-05 04:25:16 +00:00
Anton Lakotka 78be7841a1 [Gradle] Read TC_PROJECT_PROPERTY during execution time
^KT-43293
2022-08-05 04:25:15 +00:00
Anton Lakotka c27e0fff24 [Gradle] Remove unnecessary comment from tests
^KT-43293
2022-08-05 04:25:15 +00:00
Anton Lakotka 4a5f9617db [Gradle] Don't use forUseAtConfigurationTime since it is not necessary
^KT-43293
2022-08-05 04:25:14 +00:00
Anton Lakotka f85762ab56 Make NativeDistributionCommonizerTask configuration cache compatible
^KT-43293 In Progress
2022-08-05 04:25:13 +00:00
Anton Lakotka 8cc9406b1f [Gradle] Use objectFactory.fileCollection instead of lazy
^KT-43293
2022-08-05 04:25:13 +00:00
Anton Lakotka 58d74b57e7 [Gradle] Remove unnecessary comment
^KT-43293
2022-08-05 04:25:12 +00:00
Anton Lakotka f89b88d7c2 [Gradle] Remove necessary @Input's in K/Native tasks
^KT-43293
2022-08-05 04:25:11 +00:00
Anton Lakotka a815864017 [Gradle][Test] Fix @Suppress("INVISIBLE_REFERENCE") as it incompatible with K2 2022-08-05 04:25:11 +00:00
Anton Lakotka a1d6ebd8ea [Gradle] Support Gradle Configuration Cache with KotlinNativeTest 2022-08-05 04:25:10 +00:00
Anton Lakotka 9fe9cf745c [Gradle][Test] Add tests for K/Native and Configuration Cache 2022-08-05 04:25:09 +00:00