Commit Graph

3298 Commits

Author SHA1 Message Date
Aleksei.Glushko f2501ad424 [K/N] Use already dereferenced weakReferee (KT-66371)
And prevent weak barriers from execution during STW

Merge-request: KT-MR-14797
Merged-by: Alexey Glushko <aleksei.glushko@jetbrains.com>
2024-03-13 14:43:59 +00:00
Alexander Shabalin adf5331ff0 [K/N] Remove more ext properties 2024-03-13 12:35:15 +00:00
Alexander Shabalin 23710ac133 [K/N] Keep isolatedClassLoaders in a build service 2024-03-13 12:35:15 +00:00
Alexander Shabalin 3532056e0d [K/N] Remove global execClang extension 2024-03-13 12:35:15 +00:00
Alexander Shabalin aead2c2bff [K/N] Remove unused targetsWithoutZlib 2024-03-13 12:35:15 +00:00
Alexander Shabalin 5a9eea8c45 [K/N] Remove unused gradle ext properties 2024-03-13 12:35:15 +00:00
Alexander Shabalin bb8c8431e8 [K/N][tests] Move gradle stuff for old infra to old infra 2024-03-13 12:35:15 +00:00
Dmitry Savvinov 55e36dcf66 [build, native] Minor: delete obsolete commented out code 2024-03-12 16:22:27 +00:00
Dmitry Savvinov 53cbeb8edc [build, native] Adjust buildscripts after dropping K/N targets (6/8)
- Restore PlatformManager constructor (used in buildscripts)
- Replace references to deprecated K/N target with 'else'

Why: buildscripts use these references and compile against older K/N
version (from bootstrap). So they can't be adjusted to newer API,
compilation will fail right away. However, they can't be kept without
changes, because bootstrap tests will fail.

^KT-64517
^KT-66500
2024-03-12 16:22:27 +00:00
Dmitry Savvinov 4957d99fd6 [native] Drop deprecated Kotlin/Native targets (4/8)
We still want to report a readable error on using removed targets rather
than just an "Unknown target"-exception. As previous commits has removed
actual KonanTarget-entries, the check has to be adjusted to work on
plain strings.

^KT-64517
2024-03-12 16:22:27 +00:00
Dmitry Savvinov 29e90d70c6 [native] Drop deprecated Kotlin/Native targets (3/8)
This commit inlines some helper-APIs that became redundant after
dropping deprecated targets.

Full list:
- 'threadsAreAllowed' is always 'true' now
- 'indirectBranchesAreAllowed' is always 'true' now
- 'supportsThreads' is always 'true' now
- 'isMips' is always 'false' now
- 'tlsMode' is always 'LLVMGeneralDynamicTLSModel' now
- 'getBoxRange' is always equal to 'cache.defaultRange' now
-  `targetHasAddressDependency` is always true now, so memory order
   is always LLVMAtomicOrderingMonotonic now

^KT-64517
2024-03-12 16:22:27 +00:00
Dmitry Savvinov 85bcc8443d [native] Drop deprecated Kotlin/Native targets (2/8)
Remove plain references to removed KonanTarget or Family entries. All
the changes in this commit are simple removal of some when-branches
on now dropped entries

^KT-64517
2024-03-12 16:22:26 +00:00
Alexander Shabalin 9832edddab Revert "Revert "[K/N][Tests] Migrate test override_konan_properties0 and add testDriverVersion""
This reverts commit 8518c3f54f.
2024-03-12 15:42:06 +00:00
Alexander Shabalin 60c74ab91a Revert "Revert "[K/N][Tests] Migrate test override_konan_properties0""
This reverts commit 4765cfda53.
2024-03-12 15:42:06 +00:00
Alexander Shabalin 3c097ee5e0 Revert "Revert "[K/N][Tests] Migrate driver test llvm_variant_dev""
This reverts commit dc4f12f29c.
2024-03-12 15:42:06 +00:00
Alexander Shabalin e95af641bc Revert "[K/N][tests] Restore ir_providers/hello.kt ^KTI-1597"
This reverts commit c600b74459.
2024-03-12 15:42:06 +00:00
Ivan Kylchik e1180adfbd [Native] Always cast expression to the expected type after inline
Right now, during the process of inlining, the compiler erases types.
Because of that, we can end up with some random type
(for example, `Any`) where the concrete type was
expected (for example, `Int`). Compiler must insert a cast in the
required places.

#KT-66017 Fixed
2024-03-12 08:19:50 +00:00
Dmitriy Novozhilov d352cc9d96 [Frontend] Make DiagnosticSuppressor a project-level extension
Originally it was an application-level component, which caused non-trivial
  logic and cognitive load to carefully handle those extensions to avoid
  memory leaks.

6740a596 introduced a way to easily register `DiagnosticSuppressor` to
  project, and this commit continues this work, making it a proper
  project-level extension

A lot of changes caused by the fact, that this extension is needed to be
  obtained from `BindingContext` (see `BindingContextSuppressCache` and
  its usages), so almost all changes are introducing `Project` to
  `BindingContext`

^KT-66449 Fixed
2024-03-12 06:43:58 +00:00
Ilya Gorbunov dee9fdc02d [stdlib] Regenerate sources 2024-03-11 18:12:27 +00:00
Bogdan Mukvich c6aac835e5 Update SPDX gradle plugin
* fixes SPDX Gradle plugin to be used with configuration cache
* allows removing output workaround for multimodule builds

KTI-1427
2024-03-11 14:22:06 +00:00
Alexander Udalov 1d38c01afc IR: remove some usages of deepCopyWithVariables
At this point, `deepCopyWithVariables` is the same as
`deepCopyWithSymbols` except that the former doesn't call
`patchDeclarationParents`, which most likely produces incorrect IR in
some call sites.
2024-03-11 11:49:10 +00:00
Alexander Udalov e7e8cba1b4 IR: slightly simplify deep copy interface
Do not pass TypeRemapper explicitly unless an instance of something
other than DeepCopyTypeRemapper is required.
2024-03-11 11:49:10 +00:00
Wojciech Litewka e9005e4fed [IR] Initialize IrFunction.returnType eagerly, when possible 2024-03-11 09:07:54 +00:00
Wojciech Litewka d1e8016ab2 [IR] Pass null instead of IrUninitializedType to IrFactory
#KT-66053 In progress
2024-03-11 09:07:54 +00:00
Wojciech Litewka 943be239ee [IR] Simplify IrFileImpl and IrExternalPackageFragment
#KT-65773 In Progress
2024-03-07 14:32:31 +00:00
Igor Chevdar 6c691b497a [K/N] Added a benchmark on string array loop 2024-03-06 06:14:18 +00:00
Igor Chevdar 27a4cb6c12 [K/N][IR] Fixed wrong type in IR around enums 2024-03-06 05:21:32 +00:00
Igor Chevdar 17d79dafb1 [K/N][IR] Fixed wrong type in IR around ImmutableBlob 2024-03-06 05:21:31 +00:00
Igor Chevdar faf5a7fecc [K/N] Handle conservative type approximations in functional types
Sometimes FE resolves type as an intersection type which gets approximated to Nothing
(as a part of a functional type for function references), this commit tries to workaround
this by getting this type from the referenced function
2024-03-06 05:21:31 +00:00
Alexander Shabalin e8202c3355 [K/N] Simplify dependencies around kotlin-native/ 2024-03-05 21:47:43 +00:00
Alexander Shabalin 24ede14e37 [K/N] Convert :kotlin-native:backend.native buildscript to kts
Use folder structure from the rest of the project and build it by
the bootstrap compiler.
2024-03-05 21:47:43 +00:00
Alexander Shabalin 0542b62430 [K/N] Extract :native:cli-native from kotlin-native/backend.native/cli.bc 2024-03-05 21:47:43 +00:00
Alexander Shabalin bce550dce4 [K/N] Move llvm interop generation to kotlin-native/llvmInterop/ 2024-03-05 21:47:43 +00:00
Alexander Shabalin ab62632a85 [K/N] Move files, env interop generation to kotlin-native/common/ 2024-03-05 21:47:43 +00:00
Alexander Shabalin 9f0a6537bb [K/N] Convert :kotlin-native:Interop:StubGenerator
Use folder structure from the rest of the project and build it by
the bootstrap compiler.
2024-03-05 21:47:43 +00:00
Alexander Shabalin d7bccaef42 [K/N] Convert :kotlin-native:Interop:Skia buildscript to kts
Use folder structure from the rest of the project and build it by
the bootstrap compiler.
2024-03-05 21:47:43 +00:00
Alexander Shabalin 3a5f33e9cd [K/N] Convert :kotlin-native:klib
Use folder structure from the rest of the project and build it by
the bootstrap compiler.
2024-03-05 21:47:43 +00:00
Alexander Shabalin ec8bc6a64f [K/N] Convert :kotlin-native:utilities:cli-runner buildscript to kts
Use folder structure from the rest of the project and build it by
the bootstrap compiler.
2024-03-05 21:47:43 +00:00
cristiangarcia 540df2944b XcodeValueSource needs to return a Serializable object
Required for KTI-1553
2024-03-05 18:52:33 +00:00
Timofey Solonin 737ad3cde6 Specify broken macros in legacy testing infrastructure
^KT-65542
2024-03-05 12:15:29 +00:00
Alexander Shabalin ce68a1a276 [K/N][tests] Remove native unit tests from old infra ^KTI-1571 2024-03-05 12:10:32 +00:00
cristiangarcia 57edc413a3 Make native tasks CC compatible
This allows running with CC&native:
./gradlew assemble
./gradlew :kotlin-native:bundle
./gradlew :native:native.tests:test

Required for KTI-1553
2024-03-05 11:22:20 +00:00
Alexander Shabalin 4e6451c25e [K/N] Use @Escapes for all external funs with escaping arguments 2024-03-04 21:04:04 +00:00
Alexander Shabalin 8d81fd6647 [K/N] Include frameworks via umbrella headers only ^KT-65409 2024-03-04 20:53:05 +00:00
Ilya Gorbunov 35bca103eb [stdlib-mpp] Single dependency on stdlib in commonMain
In this project it's required to declare stdlib dependency explicitly,
but now it can be a single line in commonMain
2024-03-04 11:40:06 +00:00
Ilya Gorbunov 16e61f978c [stdlib-mpp] remove some kotlin-stdlib-common artifact deps 2024-03-04 11:40:06 +00:00
Vladimir Sukharev 4d723bfa85 [K/N][Tests] Migrate test kt63243
^KT-61259
2024-03-01 11:38:49 +00:00
Alexander Udalov f98a22e8e4 Fir2Ir: enable IR-based fake override builder
Invert the logic of IR/FIR2IR-based generators: change the CLI argument
to -Xuse-fir-fake-override-builder, test directive to
USE_FIR_BASED_FAKE_OVERRIDE_GENERATOR, etc.

The changes in test data caused by using IR fake override builder by
default are in the subsequent commit.

 #KT-61514
2024-02-29 10:14:31 +00:00
Alexander Shabalin 5c2017fa5f [K/N] Fix CC in Xcode usage ^KTI-1553
- Perform all calls to xcrun in XcodeValueSource.
- Use the fully computed Xcode instance as the current Xcode instance.
- Hide all of this inside a Gradle plugin and apply it to kotlin-native
  project.
2024-02-28 17:58:41 +00:00
Wojciech Litewka 2a5b4ae652 [IR] Remove files parameter from IrModuleFragmentImpl
This commit removes the default parameter in constructor,
as well as custom logic in this class, which would
make it harder for its subsequent auto-generation.

^KT-65773 In Progress
2024-02-28 09:29:56 +00:00