Commit Graph

100352 Commits

Author SHA1 Message Date
Nataliya.Valtman 3ab057b5e8 Fix BuildFusStatisticsIT flaky test 2023-04-18 17:55:36 +00:00
Abduqodiri Qurbonzoda f14f88b7ff [K/N] Inline Array constructor
As a part of efforts to stabilize Native stdlib.

Merge-request: KT-MR-9643
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2023-04-18 17:30:53 +00:00
Mikhail Glukhikh 9374202ebc FirCallResolve: disable property resolve optimization in builder inference
#KT-57889 Fixed
2023-04-18 17:05:01 +00:00
Mikhail Glukhikh f9a7a7fda2 K2: reproduce KT-57889 2023-04-18 17:05:00 +00:00
Zalim Bashorov 34f8851ac1 [psi2ir] Ignore private members when creating fake overrides from descriptors
The behavior is unified with the IR deserializer.
See `isOverridableMemberOrAccessor` in IrOverridingUtil.kt

Without this change, if we add a private member to the Any in wasm stdlib,
the compiler starts crashing with a linker error.

It's hard to write a relevant, self-contained box test for that since it requires
adding a private member to Any and affects **only** "virtual" FunctionN interfaces.
2023-04-18 18:44:47 +02:00
Ilya Gorbunov 0c1afcac67 KT-58046 Wrap hrtime array reading into a class
To achieve nice toString and proper equals/hashCode semantics of ValueTimeMark
2023-04-18 15:25:31 +00:00
Ilya Gorbunov 1014434475 KT-58046 Use saturated math in LongTimeMark implementation
- keep offset in range (-1..+1) of time source units
- when adding big or infinite offset, saturate startedAt instead
- displace initial reading to zero, similar to MonotonicTimeSource
- fix the zero reading in TestTimeSource by calling markNow in constructor
- use more precise reading adjustment in TestTimeSource for big durations
- add a note about comparable time marks for AbstractLongTimeSource and TestTimeSource
2023-04-18 15:25:31 +00:00
Ilya Gorbunov 7a6947ad35 KT-58046 Generalize saturating duration math to arbitrary units 2023-04-18 15:25:31 +00:00
Ilya Gorbunov 17d977977c KT-58058 Duration truncation internal helper function 2023-04-18 15:25:30 +00:00
Yahor Berdnikau b3decace6b Add KotlinApiPlugin in Gradle plugin variants
This plugin should apply specific implementations for variant Gradle
version including project isolation one.

^KT-55624 Fixed
2023-04-18 15:21:43 +00:00
Yahor Berdnikau cc1aaf4ba8 Add api compatible way to get if project isolation is enabled
Gradle 8.0 internal API has changed returned type. To fix incorrect KGP
behaviour has to add additional Gradle 8.0 plugin variant and provide
project isolation start parameter accessor implementation for older
Gradle versions.

^KT-55624 In Progress
2023-04-18 15:21:43 +00:00
Yahor Berdnikau 19b0ffd85c Bump Gradle API to 8.0
^KT-55624 Fixed
2023-04-18 15:21:43 +00:00
Yahor Berdnikau 8d02a415b2 Remove 'classifier' method usages in tests
^KT-55624 In Progress
2023-04-18 15:21:42 +00:00
Yahor Berdnikau 7f4c65fe10 Update AGP versions in tests
^KT-55624 In Progress
2023-04-18 15:21:42 +00:00
Yahor Berdnikau 7216a8bd95 Update Gradle versions in tests
^KT-55624 In Progress
2023-04-18 15:21:42 +00:00
Svyatoslav Scherbina f559533545 Bump Kotlin/Native version to 1.9.0-dev-5836
Also, fix KGP IT for linkage error messages:
the message text in the presence of compiler caches was changed because
of ab89203, and this commit effectively reverts expected message changes
made in ebaa09a.
2023-04-18 14:57:38 +00:00
Stanislav Erokhin f06087d5d3 [gradle] Deprecate kotlin-js plugin in favor of kotlin-multiplatform
#KT-57901 Verification Pending
2023-04-18 14:27:21 +00:00
Ilya Goncharov e4b6f3c12a [Gradle, JS] Not filter jar files in friendDependencies
^KT-56690 fixed
2023-04-18 14:25:54 +00:00
Kirill Rakhman ff7072830f [FIR] Make lambda parameters of dynamic function calls dynamic
#KT-57961 Fixed
2023-04-18 13:43:45 +00:00
Kirill Rakhman a3bf61c3f7 [FIR] Fix false positive error for trailing lambda on dynamic call
#KT-57961
2023-04-18 13:43:44 +00:00
Ilya Goncharov 418132c240 [Gradle, JS] Fix destinations of js and wasm dists
^KT-57629 fixed
2023-04-18 13:34:00 +00:00
Dmitriy Novozhilov faf212ca04 [FIR] Don't extract contracts in DFA during non-body resolution stages 2023-04-18 13:31:29 +00:00
Dmitriy Novozhilov bde4d003be [FIR] Extract contracts from original functions of fake overrides
^KT-57911 Fixed
2023-04-18 13:31:29 +00:00
Dmitriy Novozhilov f8dc8057f0 [FIR] Prohibit referencing type parameters in contracts ...
...if they are not reified or not belong to owner declaration of the contract

KT-57911
2023-04-18 13:31:28 +00:00
Dmitriy Novozhilov 5a92eb2c67 [FIR] Properly track problems in contract description during effect extraction 2023-04-18 13:31:28 +00:00
Alexander Korepanov 79d378f2bd [JS IR] Perform optimizations on the generated JS code
The patch adopts and reuses the optimizations from the legacy backend.

The optimizations remove useless temporary variables,
statements and simplify generated JS code.

The optimizations can be disabled by `-Xoptimize-generated-js=false`.

Related to KT-51139
2023-04-18 12:49:33 +00:00
Alexander Korepanov 84b5af3c89 [JS IR] Style fixes 2023-04-18 12:49:32 +00:00
Alexander Shabalin 9fd05632f0 [K/N] Track object counts during sweep ^KT-55364
Previously object count was tracked via allocator. It adds additional
burden on every allocation. Tracking via sweeper is better because
it mostly happens on the GC thread during a concurrent sweep.
2023-04-18 12:08:02 +00:00
Alexander Shabalin 63231f7b73 [K/N] Create ObjectFactory only w/o custom allocator ^KT-55364 2023-04-18 12:08:01 +00:00
Alexander Shabalin cb7698a8c2 [K/N] Track current heap size ^KT-55364 2023-04-18 12:08:01 +00:00
Alexander Shabalin 18b6351d5d [K/N] Tweak GC logs ^KT-55364
In info log one big chunk at the end of the GC iteration.
2023-04-18 12:08:00 +00:00
Alexander Shabalin f4c89148b8 [K/N] Tweak runtime logging ^KT-55364
Print thread id and process uptime.
2023-04-18 12:08:00 +00:00
Vladimir Sukharev a6d93797ee [K2/N] Enable test interop_objc_foreignException
^KT-55909

Merge-request: KT-MR-9641
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-04-18 11:15:07 +00:00
Leonid Startsev d9e16fb76e Do not create cacheableChildSerializers unless it is necessary
Creation of this property in the SerializerIrGenerator.<init> can lead to
a 'Serializer not found' internal error when generator is applied to a fully-customized external serializer.
In that case, generator is still created, but none of the generateSave/Load functions are called,
so cacheableChildSerializers(Property) is not necessary.

#KT-57730 Fixed
Fixes https://github.com/Kotlin/kotlinx.serialization/issues/2260
2023-04-18 11:04:56 +00:00
Svyatoslav Scherbina 54c07f5ebb Ignore K2 expectPropertyAsDefaultArgument.kt test for K1/Native
It is not supposed to work with K1 on Native due to test infrastructure
limitations, and actually fails in one of the compilation modes in
nightly tests.
2023-04-18 10:43:51 +00:00
Mikhail Glukhikh 50f82c9094 FirBuilderInferenceSession: fix calculation of effectivelyEmptyCommonSystem
#KT-57873 Fixed
2023-04-18 09:23:20 +00:00
Mikhail Glukhikh 7bd5491498 K2: reproduce KT-57873 2023-04-18 09:23:20 +00:00
Dmitriy Dolovov 66797ff876 [PL] Temporarily disable PL for WASM 2023-04-18 09:22:54 +00:00
Dmitriy Dolovov 87125d0703 [PL] Fix: Don't run partial linkage on early stages when no external dependencies have been loaded yet 2023-04-18 09:22:54 +00:00
Dmitriy Dolovov 000cf47c21 [PL][JS] Fix: Pass PL CLI arguments properly 2023-04-18 09:22:53 +00:00
Dmitriy Dolovov d9cd293eaa [PL][JS] Disable PL for Kotlin2JsIrBeIncrementalCompilationIT.testRebuildAfterError
This test is not supposed to be ever successful with enabled PL.
2023-04-18 09:22:53 +00:00
Dmitriy Dolovov 9d3deb7e0e [PL] Fix: Don't count value arguments vs value parameters for external functions 2023-04-18 09:22:52 +00:00
Dmitriy Dolovov b644fc009d [PL] Fix: Constructor of external class may delegate to kotlin.Any regardless of the actual superclass 2023-04-18 09:22:52 +00:00
Dmitriy Dolovov 997b6e6722 [PL] Fix: Don't try to implement non-implemented fake overrides in stdlib & co 2023-04-18 09:22:51 +00:00
Dmitriy Dolovov dd8eedb8da [PL] Fix: Don't try to implement non-implemented overridden callables in case of inheritance delegation to Nothing 2023-04-18 09:22:51 +00:00
Dmitriy Dolovov 16da1af525 [PL] Support handling IR error types 2023-04-18 09:22:50 +00:00
Dmitriy Dolovov 161c3fccb6 [PL] Enable partial linkage by default
#KT-51447
#KT-51443
2023-04-18 09:22:50 +00:00
Sebastian Sellmair 5d0bf2de24 [CLI] Restore K2JVMCompilerArguments.classpath and javaModulePath
to support IDEs < 2023.2

Reverts:
- 9dcd40d7b7
- fb66764c4d

KTIJ-25227
2023-04-18 09:18:10 +00:00
Sebastian Sellmair 7fe3c5c423 [Gradle] Demote FakeK2NativeCompilerArguments deprecation to 'WARNING'
KTIJ-25227
2023-04-18 09:18:10 +00:00
Sebastian Sellmair 0f5f4fd8fa [Gradle] Overwrite setupCompilerArgs methods in compile tasks...
... to ensure compatibility with reflection code
in IDEs < 2023.2 which is looking for setupCompilerArgs methods
with specific compiler arguments type instead of a
generic function

KTIJ-25227
2023-04-18 09:18:10 +00:00