Commit Graph

1453 Commits

Author SHA1 Message Date
Svyatoslav Scherbina d235fc4dbe Native: add thread state switches to blockToKotlinImp 2022-02-09 07:47:42 +00:00
Svyatoslav Scherbina 925e7801aa Native: improve message when Obj-C block can't be converted to Any 2022-02-09 07:47:41 +00:00
Svyatoslav Scherbina cd62b5b3b3 ObjCExport: optimize receiving autoreleased references from Obj-C/Swift
when the callee supports this.
2022-02-08 15:17:06 +00:00
Svyatoslav Scherbina 874cc6c51c Native: add LLVMSetNoTailCall to LLVM C API 2022-02-08 15:17:05 +00:00
Svyatoslav Scherbina 085e2448cd ObjCExport: don't use autorelease when sending arguments to Swift/Obj-C 2022-02-08 15:17:04 +00:00
Svyatoslav Scherbina 9326978327 ObjCExport: fix noAutorelease tests for the new MM 2022-02-08 15:17:04 +00:00
Svyatoslav Scherbina d161108be3 ObjCExport: fix noAutorelease/testReceiveBlockFromSwiftAndCall
The test expects to track block result lifetime in Swift, so we should
add it to the tracker.

Also fix the same problem for testReceiveBlockFromKotlinAndCall
(which didn't fail because we added the block itself to the tracker).
2022-02-08 15:17:04 +00:00
Igor Yakovlev 195513d4f2 [WASM] Workaround about call toTypedArray on AbstractCollection 2022-02-03 21:25:58 +01:00
Alexander Shabalin 434213f416 [K/N] Add ScopedThread
* thread that by default joins in the destructor (like C++20 jthread)
* can be given a name

Merge-request: KT-MR-5619
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-02-03 15:38:07 +00:00
Pavel Kunyavskiy 85633771da [K/N] Replace escape analysis correctness check to RuntimeAssert to avoid checks in release mode 2022-02-03 08:08:21 +00:00
Ilya Matveev 23d606b053 [K/N][tests] Support setting GC scheduler in the new infra 2022-02-03 07:30:33 +00:00
Ilya Matveev 8668797afd [K/N][tests] Do not run backed.native tests with aggressive GC 2022-02-03 07:30:33 +00:00
Igor Chevdar c0715cfb0c [K/N][IR][caches] Fixed problems with inline classes
Fixes https://youtrack.jetbrains.com/issue/KT-50978
2022-02-02 22:46:16 +05:00
Igor Chevdar 554e94a322 [K/N][IR] Never consider a enum a final class
Unfortunately, neither descriptors nor Lazy IR have enough information
to correctly deduce a enum's modality as psi2ir does, so to avoid the RTTI generator
generating different vtables in different setups (whether a klib is cached or not),
conservatively consider all enums non-final.
2022-02-02 22:46:15 +05:00
Igor Chevdar 97a28df43d [K/N][IR] Handle some corner cases for enums when building caches
Helps workaround https://youtrack.jetbrains.com/issue/KT-50977
2022-02-02 22:43:53 +05:00
Svyatoslav Scherbina 9a967952b5 ObjCExport: fix crash when KotlinBase +initialize is called before +load
This generally shouldn't happen, but sometimes it does.

^KT-50982 Fixed
2022-02-02 12:57:20 +00:00
Pavel Punegov 74cf792b41 [K/N][test] Don't rebuild platform libs in non default dist if exist 2022-02-02 10:53:07 +00:00
Ilya Matveev 6c173b2b6c [K/N] Add mmap to thread state checker exclude list 2022-02-02 05:22:59 +00:00
Ilya Matveev c35b8342d8 [K/N][Runtime] Support equality and hashcode for stacktraces 2022-02-01 10:02:50 +00:00
Igor Chevdar 9e7d8808bd [K/N][IR] Used new declaration parents checker 2022-01-28 18:21:13 +00:00
Alexander Shabalin 4c97b55adf [K/N] Simplify SingleThreadExecutor
Merge-request: KT-MR-5591
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-01-28 12:11:44 +00:00
Svyatoslav Scherbina 4cd60090e0 ObjCExport: fix replacing Kotlin class methods by Swift extensions
^KT-49937 Fixed
2022-01-28 11:15:39 +00:00
Igor Chevdar 1aea2d0437 [K/N][IR] Respect -Xlazy-ir-for-caches on caches building 2022-01-28 13:14:37 +05:00
Igor Chevdar 0cc48440e1 [K/N][IR] Properly handle enums when building caches
Helps to fix https://youtrack.jetbrains.com/issue/KT-50977 but not entirely
2022-01-28 12:35:50 +05:00
Pavel Kunyavskiy 1bc8061667 [K/N] Refactor suspension to reduce generated code size 2022-01-28 06:44:47 +00:00
Ilya Matveev 41c45b97e7 [K/N][Runtime] Switch thread state when triggering CMS GC 2022-01-28 12:25:03 +07:00
Ilya Matveev 1e78036a1b [K/N] Enable CMS GC by default for the new MM
Issue #KT-50713 Fixed
2022-01-28 12:24:57 +07:00
Alexander Shabalin 4c8bb93560 [K/N] Helpers for saturating arithmetics in runtime
Merge-request: KT-MR-5496
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-01-27 12:32:40 +00:00
Mikhail Glukhikh 3e00f41a99 Replace useExperimentalAnnotation with optIn in scripts 2022-01-27 11:48:20 +00:00
Georgy Bronnikov 6a3a375372 IR: pass DescriptorByIdSignatureFinder as parameter to DeclarationStubGeneratorimpl
This breaks dependency between serialization.common and psi2ir modules.
2022-01-27 01:02:23 +03:00
Georgy Bronnikov 3f91674090 IR: inline and remove ...FromLinker methods from SymbolTable 2022-01-27 01:02:22 +03:00
Georgy Bronnikov 3a72c44184 Repair Native compilation 2022-01-27 01:02:22 +03:00
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