Georgy Bronnikov
3cc883cf7b
IR: use DescriptorBySignatureFinder in DeclarationStubGenerator
...
Duplicating code that was used for the same purpose in
DeclarationStubGenerator is removed.
2022-01-27 01:02:14 +03:00
Svyatoslav Scherbina
149e596bef
Native: support -Xoverride-konan-properties in generatePlatformLibraries
2022-01-26 12:43:41 +00:00
Svyatoslav Scherbina
1d3e72cef4
Native: do not cache DependencyProcessor.localKonanDir
...
Caching is wrong when the compiler is working in Gradle daemon, because
the daemon can change the environment, while localKonanDir depends on
the environment.
2022-01-26 12:43:41 +00:00
Dmitriy Dolovov
15e6101608
[IR, Native] Support partial linkage in backend
...
^KT-50775
2022-01-26 13:36:23 +03:00
Dmitriy Dolovov
4726b14c4b
[IR, Native] Refactoring: Introduce KonanUnlinkedDeclarationsSupport
...
^KT-50775
2022-01-26 13:36:23 +03:00
Dmitriy Dolovov
319125607e
[IR, JS] Refactoring: Introduce JsUnlinkedDeclarationsSupport
...
^KT-50775
2022-01-26 13:36:23 +03:00
Dmitriy Dolovov
cc37934d6f
[IR, Native] Add compiler flag for partial linkage mode
...
^KT-50775
2022-01-26 13:36:23 +03:00
Ilya Matveev
acced31bb2
[K/N] Fix CMS GC hanging on Windows
...
Issue #KT-50948 Fixed
2022-01-26 12:57:09 +07:00
sebastian.sellmair
eecc63594c
benchmarksAnalyzer: Remove workaround for KT-50847
2022-01-25 16:59:27 +00:00
sebastian.sellmair
0fd65ab1a0
[Native] TargetedLibraryImpl: Respect 'commonizerNativeTargets' property
...
^KT-50847 Verification Pending
2022-01-25 16:59:27 +00:00
Pavel Kunyavskiy
803014ef24
[K/N] Test for freezing disabling
2022-01-25 13:43:48 +00:00
Alexander Shabalin
b29b6227c2
[K/N] Adjust timings in GCSchedulerTest
...
Merge-request: KT-MR-5555
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com >
2022-01-25 09:38:32 +00:00
Igor Chevdar
2e5a110a3e
[K/N][gradle] Fixed platform libraries generation
2022-01-25 09:17:45 +00:00
Sergey Bogolepov
322bffd75a
[K/N] Add FileCheck test for constants merging
2022-01-25 09:11:01 +00:00
Sergey Bogolepov
a6455a906b
[K/N] Fix KT-50843
...
Marking constants with unnamed_addr allows LLVM to merge them.
2022-01-25 09:10:59 +00:00
Pavel Kunyavskiy
80b50f5452
[K/N] Disable freezing by default, if memory model is experimental
2022-01-24 13:38:30 +00:00
Pavel Kunyavskiy
3798920183
[K/N] Any.isFrozen is now always false when freezing is disabled
2022-01-24 13:38:30 +00:00
Dmitriy Novozhilov
dd953908df
[FE 1.0] Add compiler flag for rendering internal diagnostic names in error messages
2022-01-23 11:14:56 +03:00
Svyatoslav Scherbina
a65b278f71
Native: generate debug locations for catch parameters
...
^KT-50558 Fixed
2022-01-21 16:08:13 +00:00
Alexander Shabalin
69bb2587eb
[K/N] Make GC scheduler less aggressive
...
^KT-48537
Merge-request: KT-MR-5319
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com >
2022-01-19 19:11:15 +00:00
Alexander Udalov
6445a29893
IR: remove type parameter in visitConst
...
Co-authored-by: mcpiroman <mcpiroman@gmail.com >
2022-01-19 17:50:35 +01:00
Alexander Udalov
81106526b1
IR: remove IrConstantObject.putArgument, IrConstantArray.putElement
...
Change `valueArguments` and `elements` types to be mutable lists. This
will simplify IR tree generator.
2022-01-19 17:50:35 +01:00
Pavel Punegov
816acaadc3
[K/N][samples] Properly disable HMPP for ^KT-50547
...
Properties file inside subproject isn't read. Moved to root
Fixup to 8d0b511e95
2022-01-19 16:10:10 +00:00
Pavel Kunyavskiy
2f853175c7
[K/N] Get rid of using base class default values for annotations
...
They can be not available in incremental compilation case
^KT-50211
2022-01-19 13:17:17 +00:00
Pavel Punegov
3db341213b
[K/N] Synchronize LLVM target initialization
...
Race conditions should be avoided during initialization.
See llvm/lib/Support/TargetRegistry.cpp in LLVM repo
2022-01-19 11:18:43 +00:00
Pavel Punegov
a22e267b05
[K/N] Set JDK17 as a toolchain for endorsedLibs project
...
Older JDKs sometimes make build fail with obscure errors
2022-01-19 11:18:14 +00:00
Pavel Punegov
8d0b511e95
[K/N][samples] Turn off hmpp and metadata due to ^KT-50547
2022-01-18 15:24:06 +00:00
Elena Lepilkina
b8af589137
[K/N][perf] Added workaround to build benchmarks analyzer artifacts
2022-01-18 17:08:10 +03:00
Svyatoslav Scherbina
ec3a2c9671
Native: remove cleanup landingpad if it is unused
...
Useful for ObjCExport, because most of its bridges don't use it.
2022-01-18 08:15:15 +00:00
Svyatoslav Scherbina
47a0bdc1bc
Native: remove forwardingForeignExceptionsTerminatedWith
...
It is no longer used, and was generally misdesigned.
2022-01-18 08:15:15 +00:00
Svyatoslav Scherbina
35cb897bdd
ObjCExport: use terminatingExceptionHandler by default
...
If something called from an ObjCExport bridge throws a Kotlin exception,
treat it as fatal by default and terminate the process.
This affects
* Runtime calls (managing and converting Kotlin and Obj-C references and
other types), that shouldn't throw such exceptions anyway
* User code (Kotlin function object throws Kotlin exception when
called from Swift/Obj-C).
If an exception should be handled non-fatally (e.g. forwarded to
the caller), this intention should be expressed in the code generator
explicitly.
^KT-50830
This change makes the code more simple and efficient,
and the control flow -- more explicit.
2022-01-18 08:15:14 +00:00
Svyatoslav Scherbina
bc2cc026db
ObjCExport: use ObjCExportFunctionGenerationContext when generating code
...
instead of its supertype, FunctionGenerationContext.
2022-01-18 08:15:14 +00:00
Svyatoslav Scherbina
e8e4a850d4
ObjCExport: remove state switching from callFromBridge
...
It is not required anymore.
2022-01-18 08:15:14 +00:00
Svyatoslav Scherbina
776154881b
ObjCExport: prohibit Kotlin exceptions leaking through native code back
...
If a Kotlin exceptions is thrown out of a native code in ObjCExport
(when calling Swift/Obj-C method overriding Kotlin method, or calling
Swift/Obj-C block as Kotlin function type), treat this exception as
fatal and terminate the process.
This could happen if the Kotlin exception leaked from Kotlin to native
code before.
In other words, when calling Kotlin -> Swift/Obj-C -> Kotlin, if Kotlin
exception passes from the last to the first part, terminate.
^KT-50830
2022-01-18 08:15:13 +00:00
Svyatoslav Scherbina
f7a1fa86a9
ObjCExport: introduce terminatingExceptionHandler
2022-01-18 08:15:13 +00:00
Svyatoslav Scherbina
eaa6a75de4
ObjCExport: don't generate redundant exception handler for objc_release
2022-01-18 08:15:12 +00:00
Svyatoslav Scherbina
cdfcffbd57
ObjCExport: make objc_release nounwind
...
Also replace it by an LLVM intrinsic, llvm.objc.release,
which is lowered to objc_release.
This is close to what Clang does.
2022-01-18 08:15:12 +00:00
Ilya Gorbunov
906a351a81
Regenerate standard library generated code
2022-01-17 15:38:27 +03:00
Pavel Punegov
377b6d9204
[K/N] Fix FunctionReference lowering in coercion
...
See fix for ^KT-50204
2022-01-17 09:33:09 +00:00
Pavel Punegov
6dac9fd2a3
[K/N][test] Improve available processors test
...
Pass expected number of processors as arguments. Don't check it on
linux-arm32/64 which run remotely
2022-01-17 09:32:37 +00:00
Evgeniy.Zhelenskiy
e97ca2ada4
[Psi2Ir, Fir2Ir] Generate toString, hashCode, equals methods for MF VC
2022-01-14 13:51:57 +00:00
Alexander Shabalin
c15b1ec001
[K/N] Remove certain pthread functions from runnable allow list
...
^KT-50713
Merge-request: KT-MR-5417
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com >
2022-01-14 12:20:30 +00:00
Igor Chevdar
f724b5c29d
[K/N][gradle][interop] Workaround for loading readonly native libs
2022-01-14 10:29:12 +05:00
Igor Chevdar
7a4ef76527
[K/N][gradle] Automatic cleaning of the class loaders map
2022-01-14 10:29:11 +05:00
Igor Chevdar
bd6ea71ead
[K/N][gradle][interop] Refactored ToolConfig
...
Added possibility to create different strategies for loading libclang
2022-01-14 10:29:10 +05:00
Igor Chevdar
650d4c78e9
[K/N][interop] A small optimization
2022-01-14 10:29:08 +05:00
Igor Chevdar
0211509795
[K/N][build] Refactored K/N tool runner
2022-01-14 10:29:07 +05:00
Igor Chevdar
8ac234fd6b
[K/N][interop] Made NativeMemoryAllocator lock-free
2022-01-14 10:29:06 +05:00
Igor Chevdar
993816a400
[K/N][runtime][interop] Refactoring to run cinterop in daemon
2022-01-14 10:29:05 +05:00
Igor Chevdar
41e1fbe971
[K/N][gradle][interop] Arg to specify relative dir for libraryPath
2022-01-14 10:29:04 +05:00