Commit Graph

179 Commits

Author SHA1 Message Date
Elena Lepilkina 025e572462 [K/N] Fixed case with parameter which can be optimized with BCE 2021-07-13 09:22:13 +00:00
Elena Lepilkina c096e6a3eb [K/N] Analyze vals in bounds check elimination 2021-07-13 09:22:11 +00:00
Elena Lepilkina 9503627864 Changed an order of processing loops in ForLoopsLowering 2021-07-13 09:22:11 +00:00
Elena Lepilkina 7975311ca2 [K/N] Added tests for bounds checks 2021-07-13 09:22:09 +00:00
Pavel Kunyavskiy eec8fdf16a [K/N] Implement isExperimentalMM intrinsic 2021-07-09 08:53:07 +00:00
Sergey Bogolepov f05110f99b [K/N] Add some tests for https://youtrack.jetbrains.com/issue/KT-47605 2021-07-07 07:50:57 +00:00
Ilya Matveev dc8186cb83 [K/N][Interop] Fix throwing exceptions through bridges in opt mode
By default, C functions compiled to bitcode by clang have the
nounwind attribute. If such functions throws an exception, the
behaviour is undefined.

Our interop machinery can process foreign exceptions on call sites
(terminate or wrap them in Kotlin exceptions). But if the interop
bridges have the nounwind attribute, LLVM optimizations (particularly
inlining) may lead to the situation when a foreign exception is ignored by
our foreign exception handler.

This patch fixes the issue by compiling bridges with -fexceptions flag.
This flag makes clang to not set the nounwind attribute, so exceptions
can be thrown through C frames.
2021-07-02 11:51:06 +00:00
Ilya Matveev e5aa7e1625 [K/N] Disable some tests for noop GC 2021-07-01 10:05:02 +00:00
Pavel Kunyavskiy b2f0e0e0d3 Revert "Native: exclude tests that fail due to the KT-47405 and KT-47408"
This reverts commit 6ae6209031.
2021-06-30 13:47:28 +00:00
Alexander Shabalin 092750e215 Fix race in Lazy for the new MM 2021-06-29 06:29:57 +00:00
Alexander Shabalin 455625bcee Use FreezableAtomicReference in unhandled exception hook 2021-06-29 06:29:57 +00:00
Svyatoslav Scherbina eeffa49cd9 Native: don't generate .companion in ObjCExport if the companion is not exported
^KT-47462 Fixed
2021-06-28 08:19:12 +00:00
Svyatoslav Scherbina 786cb47450 Native: improve ObjCExport test for companion enum entry clash 2021-06-28 08:19:11 +00:00
Alexander Shabalin 28b6427d3e Make FreezableAtomicReference atomic when unfrozen for the new MM. 2021-06-25 21:18:37 +00:00
Pavel Punegov 6ae6209031 Native: exclude tests that fail due to the KT-47405 and KT-47408 2021-06-24 10:54:45 +00:00
Alexander Shabalin cc71069a3a Do not require freezing for Worker.executeAfter on experimental MM 2021-06-24 07:57:23 +00:00
Svyatoslav Scherbina 04e8140162 Native: emit _Nullable_result attribute when generating Objective-C header
^KT-47042 Fixed
2021-06-22 16:12:37 +00:00
Svyatoslav Scherbina 9b49d0cf76 Native: fix testObjCExport testdata after 53baef88
(was broken during rebase)
2021-06-22 12:49:09 +03:00
Svyatoslav Scherbina 53baef8892 Add more tests for Native ObjCExport virtual adapters machinery 2021-06-22 09:29:30 +00:00
Svyatoslav Scherbina 5d5628f56e Native: apply ObjCExport virtual adapters from interfaces of supers
Previously they were skipped, and this was an incorrect optimization:
even if super class implements the interface too, this doesn't mean
that virtual adapters provided by that interface are inherited
by non-exported subclass that needs them;
for example, this doesn't happen when the super class is exported
(i.e. Obj-C class is not created at runtime).

Remove incorrect optimization instead of making it more sophisticated,
because it is useless anyway.

^KT-46431 Fixed
2021-06-22 09:29:29 +00:00
Alexander Shabalin b7fbe09ef4 Fix Experimental MM tests on mingw 2021-06-22 08:58:00 +00:00
Alexander Shabalin ebc4e10684 Fix GC stress test. 2021-06-21 16:07:57 +00:00
Svyatoslav Scherbina b961812efd Native: fix thread state when calling ObjC completion for Kotlin suspend 2021-06-21 09:37:25 +00:00
Svyatoslav Scherbina 2a54f1c610 Improve exception messages for kotlin.native.concurrent.* operations 2021-06-18 13:51:21 +00:00
Alexander Shabalin e240b8a8ee Add a separate aggressive GC mode 2021-06-18 12:03:02 +00:00
Igor Chevdar 421ff68cd6 [K/N][codegen] Fix for https://youtrack.jetbrains.com/issue/KT-47183 2021-06-18 15:57:45 +05:00
Pavel Kunyavskiy d7a3310042 [K/N] KT-43780: support of more convenient objects using from objC/Swift 2021-06-18 08:02:22 +00:00
Alexander Shabalin e3eec33b24 Add aggressively allocating stress test for GC 2021-06-16 21:34:05 +00:00
Svyatoslav Scherbina e324c9b3fb Generate initRuntimeIfNeeded() at the beginning of staticCFunction
#KT-44283 Fixed
2021-06-16 06:39:51 +00:00
Pavel Punegov f9d5cc90a8 [native] Disable test that fail due to the unaligned int64 access 2021-06-15 11:51:43 +03:00
Vasily Levchenko 695339e21f [k/n][tests][debugger] test for KT-47198. 2021-06-15 08:04:19 +00:00
Vasily Levchenko 524a9351de [k/n][tests][debugger] modify test to conform KT-47198 2021-06-15 08:04:18 +00:00
Vasily Levchenko bb42e601ab [k/n][tests][lldb] add quit to each lldb tests. 2021-06-15 08:04:17 +00:00
Alexander Shabalin 58adfd8488 Disable enum and object isFrozen tests on wasm 2021-06-11 18:12:15 +00:00
Svyatoslav Scherbina b13e7d1e28 Native: enable more Obj-C interop tests for new MM 2021-06-11 07:35:50 +00:00
Alexander Shabalin 9ebba93dd9 Make SingleThreadMarkAndSweep support multiple threads 2021-06-10 09:59:37 +00:00
Dmitriy Dolovov 2b161581ca K/N: Use class FQN in default toString() implementation
^KT-47167
2021-06-10 11:02:21 +03:00
Dmitriy Dolovov d42ff069f6 [Native][IR] Move verbose RTTI for local classes and anonymous objects
^KT-45304
2021-06-10 11:02:16 +03:00
Alexander Shabalin b1e0e43ba4 Add isFrozen test on object 2021-06-09 15:03:15 +00:00
Vasily Levchenko 89b589846b Merge KT-MR-3224 from rrn/minamoto/kt-33364 2021-06-09 11:50:28 +00:00
Vasily Levchenko 79600f32d2 [codegenerator][refactor] extract method for tramboline generation 2021-06-09 11:39:57 +02:00
Vasily Levchenko 0651f7de20 [kotlin-native][tests] kt-33364 test added 2021-06-09 11:39:56 +02:00
Vladimir Ivanov 7c7905b55c [Native] Disable unaligned float test (not supported yet) (#4434) 2021-06-08 13:18:58 +03:00
Svyatoslav Scherbina e4b723fe4a Native: enable some of ObjCExport tests with new GC 2021-06-04 16:58:27 +00:00
Vasily Levchenko a0503aa2d7 [kotlin-native][test][debugger] exclude non constant part of stack trace from gold values
(cherry picked from commit ac072d3cc0aea0d311062f58fb5382cac6912deb)
2021-06-02 18:36:59 +00:00
Vladimir Ivanov 2165cc8f0d [Native] Fix test data for testObjCExportNoGeneric (#4424) 2021-06-02 11:13:07 +03:00
Vladimir Ivanov e06a60bda5 [Native] Clean up nested comment when exporting kdoc to objc header (#4410)
* [Native] Clean up nested comment when exporting kdoc to objc header

* [kdoc-export] Add test witg nested comment block

* Remove redundant assert

Co-authored-by: Vladimir Ivanov <vladimir.d.ivanov@jetbrains.com>
2021-06-02 10:18:32 +03:00
Vasily Levchenko 84c10079e4 [kotlin-native][tests] kt-42208 test added. 2021-05-31 11:45:32 +00:00
Dmitriy Dolovov e927764aaf [IR][Native] Fix invalid IR return statement generation
^KT-46836
2021-05-29 19:31:13 +00:00
Alexander Shabalin af1f57007a https://channel9.msdn.com/Shows/Going+Deep/Cpp-and-Beyond-2012-Herb-Sutter-atomic-Weapons-2-of-2 2021-05-27 17:18:55 +00:00