Commit Graph

61 Commits

Author SHA1 Message Date
Alexander Shabalin c582612bd7 Restore runtimeState value in deinitRuntime (#4587) 2020-12-14 15:25:37 +01:00
Alexander Shabalin 783517dbe8 Fix unchecked runtime shutdown (#4575) 2020-12-14 15:25:37 +01:00
LepilkinaElena b6497d07cf Inline properties accessors for release builds (#4570) 2020-12-14 15:25:37 +01:00
Vasily Levchenko eaa7cf44c8 [IR] adopts 5d9e86863a
[IR] Make isHidden and isAssignable explicit on IrValueParameter.
2020-12-14 15:25:37 +01:00
SvyatoslavScherbina 62272f54c1 Fix isa swizzling for Kotlin subclasses of Obj-C classes
Don't rely on indexed ivars of instance's isa since isa swizzling
replaces it. Use method instead, it works on the replacement too
(if it is a subclass of the original isa).

 #KT-42482 Fixed.
2020-12-14 15:25:37 +01:00
Sergey Bogolepov b68a934d88 Proper fix for interop enum and struct generation
Current approach to generate interop enum and structs during linkage stage turned out to be fragile. We might get unbound wrapper descriptors which are useless for function body generation.
The solution is to postpone body generation until linkage step is complete.
2020-12-14 15:25:36 +01:00
Sergey Bogolepov 77899446cb Revert "Fix KT-43530"
This reverts commit 9c1fc56b
2020-12-14 15:25:36 +01:00
Igor Chevdar e2cbe53776 [IR] Supported value classes 2020-12-14 15:25:36 +01:00
Alexander Shabalin 2057e5c8f1 Tracking globals (#4542) 2020-12-14 15:25:36 +01:00
Sergey Bogolepov 66de5dceb9 Workaround for KT-43517. 2020-12-14 15:25:36 +01:00
Sergey Bogolepov 12723fb009 Add test for KT-43517 and KT-43530 2020-12-14 15:25:36 +01:00
Sergey Bogolepov 30345c3708 Fix KT-43530 2020-12-14 15:25:36 +01:00
Alexander Shabalin 5fc17ce5fa Tweak TLS init/deinit (#4551)
* Delete the entire TLS in one go
* Put TLS allocation separately
* Keep TLS in a single array
2020-12-14 15:25:36 +01:00
Roman Artemev 01c65fc053 [IR BE] Drop unused members in backend context (K/N part)
(cherry picked from commit cad57e996db7b9d933855bbd91a623a0f8f34003)
2020-11-28 21:13:49 +01:00
Alexander Gorshenev 47a34dbaaf No need to explicitly deprecate -Xdisable-fake-override-validator
A warning is produced automagically

(cherry picked from commit bc19f73b37567853d52d79574c319c95466e648c)
2020-11-28 21:13:49 +01:00
Alexander Gorshenev 07db1de4da Made -Xfake-override-validator off by default
Deprected -Xdisable-fake-override-validator

(cherry picked from commit 0abe4e46c497645b07e9e55088135813bd1a7437)
2020-11-28 21:13:48 +01:00
Alexander Udalov 10a1ea9091 Add kotlin.build.useIR property to compile project with JVM IR
The change in Devirtualization.kt is needed to workaround JVM IR issue
reported at KT-43286.

(cherry picked from commit 4a945686bae98c147a641c0b41d3e8474f133ca2)
2020-11-28 21:13:48 +01:00
Igor Chevdar 606fbe37fc [IR] Turned off IR validation for everything but our tests 2020-11-28 21:12:17 +01:00
Igor Chevdar e5f7cef594 [interop] Optimized unmanaged memory alloc/free 2020-11-28 21:12:15 +01:00
Sergey Bogolepov 20931eebe1 [KT-43276] Add watchos_x64 target 2020-11-28 21:07:20 +01:00
LepilkinaElena 63b1aad3ef Added test to check fields deserialization from caches (#4540) 2020-11-28 21:07:18 +01:00
SvyatoslavScherbina bbbdf14ff0 Support init blocks in inline classes
#KT-43198 Fixed.
2020-11-28 21:07:01 +01:00
Elena Lepilkina c9a64c2dbb Use deserializeStrategy WITH_INLINE_BODIES for caches 2020-11-28 21:07:01 +01:00
Igor Chevdar 68239f3814 [caches] Optimized away some calls to Files.exists 2020-11-28 21:01:57 +01:00
Vasily Levchenko 6f9078b796 [command line] adopt 5de7a10df0
Eliminated -Xdeserialize-fake-overrides
2020-11-28 21:01:56 +01:00
Ilya Gorbunov bf4e53ae06 Use Files API for creating temp files and directories
(cherry picked from commit b9df8591d043c79f2032b782efc7539c747c2625)
2020-11-28 21:01:56 +01:00
Alexander Shabalin ee508efb23 Add a switch to destroy runtime only on shutdown (#4482) 2020-11-28 21:01:54 +01:00
Sergey Bogolepov 0a0b9d57c9 Fix KT-43265. 2020-11-28 20:58:16 +01:00
Sergey Bogolepov c0a83f48bf [KT-43265] Add reproducer to tests. 2020-11-28 20:58:15 +01:00
Igor Chevdar 7fdfe65554 [codegen] Fixed compilation after wrong rebase 2020-11-28 20:57:40 +01:00
Igor Chevdar f8b4db21aa Merge pull request #4496 from JetBrains/small_backend_optimizations
Small backend optimizations
2020-11-28 20:57:39 +01:00
Alexander Shabalin 2c898fe72c Fix install_name for dynamic cache (#4510) 2020-11-28 20:57:39 +01:00
Florian Kistner 598d0e07e3 Add facility to restrict extra classes in Mobile ObjC Generator (#4498)
- Implement way to restrict extra classes from other modules in Mobile ObjC generator
- Split generation into smaller steps
- Add API to retrieve stubs and foundation imports
2020-11-28 20:57:37 +01:00
Alexander Gorshenev edfdc88d6d Dropped outdated klib version compatibility mechanisms
(cherry picked from commit 31fe91b6553ba08b83c581bfa8341e4a21805e97)
2020-11-28 20:56:42 +01:00
SvyatoslavScherbina 3e92699962 Fix MutableMap.entries.contains(Map.Entry)
#KT-42428 Fixed.
2020-11-28 20:56:38 +01:00
Igor Chevdar 1bd8eb62fb [psi2ir] Clear FE bindingContext after initial analysis
It should not be used anywhere in the BE
2020-11-28 20:55:38 +01:00
Pavel Punegov 625915eebb Cache testing with debug build 2020-11-28 20:54:08 +01:00
Pavel Punegov 3550e0629a Fix more dynamic interop tests: correct target name with host name comparison 2020-11-28 20:54:08 +01:00
Pavel Punegov f309601a39 Disable test, that fails with SIGSEGV: KT-43180 2020-11-28 20:54:08 +01:00
Alexander Shabalin cbdd6fd245 Fix interop_cleaners_second_thread 2020-11-28 20:54:08 +01:00
Pavel Punegov d0cd2f2f8d Fix tests target usage 2020-11-28 20:54:07 +01:00
Alexander Shabalin fc7cf48798 Tests on migrating main thread and memory leaks with interop (#4494) 2020-11-28 20:54:06 +01:00
Campbell Jones 4c9bbe54d4 Improve compatibility with newer GCC+Clang, resolve some warnings 2020-11-28 20:53:03 +01:00
Svyatoslav Scherbina 58855b9eff Expose enum .values function when generating Obj-C header 2020-11-28 20:53:01 +01:00
Svyatoslav Scherbina 740d50ca09 Extract function in ObjCExportCodeGenerator 2020-11-28 20:52:26 +01:00
Svyatoslav Scherbina d218b88106 Forbid subclasses of NativePointed to have backing fields
(this crashes the compiler otherwise)
2020-11-28 20:52:24 +01:00
Svyatoslav Scherbina 2ce2565e8f Simplify check for NativePointed in SpecialBackendChecksTraversal 2020-11-28 20:51:57 +01:00
Svyatoslav Scherbina d4beef6872 Add trivial test for CStructVar declared in source code 2020-11-28 20:51:55 +01:00
Abduqodiri Qurbonzoda e061e0a687 Remove ExperimentalStdlibApi opt-in previously needed for CancellationException
(cherry picked from commit 6a4e568687541a0f09f5e929a2dd6e28ea38246c)
2020-11-28 20:51:03 +01:00
SvyatoslavScherbina 77fcc0d010 Fix type safe barrier bridges for generics with non-trivial upper bound 2020-11-28 20:51:01 +01:00