Commit Graph

498 Commits

Author SHA1 Message Date
Svyatoslav Scherbina 77139d58f8 Unify interop with Objective-C in both directions
Also support casts to Objective-C types
2018-04-12 09:56:29 +03:00
Svyatoslav Scherbina 38f896649c Use meta object for storing associated Objective-C object 2018-04-12 09:56:29 +03:00
Igor Chevdar 8e6ed44db3 Turned on devirtualization + fix in ObjCExport 2018-04-09 15:42:13 +03:00
Igor Chevdar 7b4d60d489 Marked WeakReferenceCounter with @ExportForCompiler 2018-04-07 08:56:37 +03:00
Nikolay Igotti 21079ae644 Weak references. (#1459) 2018-04-04 14:35:06 +03:00
Svyatoslav Scherbina 7d7f0f46e6 Add prelimitary support for using Objective-C types in framework API 2018-04-03 11:20:57 +03:00
Svyatoslav Scherbina 80d026afa5 Fix dynamic type info generation when producing framework 2018-04-03 11:20:57 +03:00
Igor Chevdar e84e76107f Supported cycles during object subgraph freezing 2018-03-30 17:59:33 +03:00
Sergey Bogolepov 6259b28cd3 Moved inRange and getCachedBox to C++ runtime 2018-03-30 16:30:51 +07:00
Sergey Bogolepov ddff7b365e Boxing of bytes, shorts, chars, ints and longs. Cogegen only implementation 2018-03-30 16:30:51 +07:00
Nikolay Igotti 0abcd62c13 Meta-object support. (#1451) 2018-03-30 11:05:21 +03:00
Svyatoslav Scherbina bbefb4bab3 Translate Kotlin @Throws to Swift 'throws' when producing framework
Methods having or inheriting `@Throws` annotation are represented as
`NSError*`-producing methods in Objective-C and as `throws` methods in Swift.
2018-03-29 23:59:12 +03:00
Nikolay Igotti cca9280093 Fix WASM32/Zephyr build. 2018-03-28 20:36:18 +03:00
Igor Chevdar c76c39fafd Fixed shared globals deinit 2018-03-28 17:33:09 +03:00
Igor Chevdar 6fa9ca8888 Added shadow singleton value to resolve cycles during initialization 2018-03-28 17:33:09 +03:00
Igor Chevdar c1c363b81e Freezing: bug fix 2018-03-28 17:33:09 +03:00
Igor Chevdar 7a8220ea36 Memory.cpp: refactoring 2018-03-28 17:33:09 +03:00
Igor Chevdar 7227c5d100 Supported shared access to enums 2018-03-28 17:33:09 +03:00
Nikolay Igotti 8a06dbfb28 Fix memory leak with frozen objects hanging from cycles. 2018-03-22 15:33:31 +03:00
Sergey Bogolepov bcf1722ecd Force LLVM to inline basic math functions 2018-03-21 18:41:38 +07:00
Nikolay Igotti 204fde4bf1 Typed arrays API (#1398) 2018-03-15 10:02:35 +03:00
Nikolay Igotti a6fa19a7fd Object freezing API (#1390) 2018-03-14 11:51:48 +03:00
Svyatoslav Scherbina 79b0dc5652 Add check to prevent loading more than one Kotlin framework 2018-03-12 10:41:34 +03:00
Pavel Punegov 0c8ca828eb Add AfterTest and BeforeTest aliases for tests 2018-03-06 14:16:24 +03:00
Ilya Matveev 588dd7efb7 [js-interop] Add Konan_js_getInt stub for targets without JS interop 2018-03-06 11:29:31 +03:00
Ilya Matveev 8e08bbf6bd [stdlib] Fix comments in kotlin.math 2018-03-01 17:02:37 +03:00
Ilya Matveev 968014868d [stdlib] Don't pass an arena to JS math functions 2018-03-01 17:02:37 +03:00
Ilya Matveev da5f4e4c2e [build] Add a task to re-generate math.js 2018-03-01 17:02:37 +03:00
Ilya Matveev 164d35c73f [stdlib] Implement kotlin.math for wasm 2018-03-01 17:02:37 +03:00
Ilya Matveev ffae98f7e0 [js-interop] Include JS interop into stdlib 2018-03-01 17:02:37 +03:00
Pavel Punegov 0b84718fa2 Support nullable floating point equality comparisons 2018-02-28 22:46:44 +03:00
Alexander Gorshenev 0de9b3a9b6 We now have a Kotlin program to blink a LED on stm32f4_disco. 2018-02-27 15:16:37 +03:00
Sergey Bogolepov 049d29af75 Fixed trailing newline in consoleReadUtf8 2018-02-26 14:28:13 +03:00
Nikolay Igotti 346e1aefcf Rework globals init. (#1336) 2018-02-23 01:32:01 +03:00
Pavel Punegov 46f75c2226 More review fixes 2018-02-22 19:03:03 +03:00
Pavel Punegov 45985d9a7f Review fixes 2018-02-22 19:03:03 +03:00
Pavel Punegov 8352e5f7d9 Small indent fix 2018-02-22 19:03:03 +03:00
Pavel Punegov ad8160ae83 Support IEEE754 floating point comparisons
Add an intrinsic that performs check according to the standard
Add floating point compare methods from LLVM
Support new IR builtins, symbols and descriptors
Rewrite compareTo floating point checks to Kotlin
Rewrite equals to be the same as in JVM
2018-02-22 19:03:03 +03:00
Pavel Punegov 0761108399 Make intrinsics be external functions 2018-02-22 19:03:03 +03:00
Igor Chevdar 1042a710e3 Implemented devirtualization of multimorphic callsites 2018-02-21 16:47:40 +03:00
Igor Chevdar 6682d8083b Extracted compile time evaluation to a separate IR lowering 2018-02-21 16:47:40 +03:00
Igor Chevdar 91bd565972 Implemented isInitialized for lateinit properties + tests 2018-02-21 11:57:13 +03:00
Pavel Punegov 6e7f577887 Fix integer limits that depend on a size of the type.
LONG_MAX is 32-bit wide value on raspberrypi
2018-02-16 14:36:14 +03:00
Nikolay Igotti bac96e3927 Fix exception contructors to match JVM/JS signatures. (#1329) 2018-02-15 15:21:41 +03:00
SvyatoslavScherbina 12bec9b22f Fix handling nil result of NSSet.member for Kotlin Set (#1314) 2018-02-12 18:59:31 +03:00
Alexander Gorshenev 9789420ed3 A configurable zephyr board support. 2018-02-12 16:00:58 +03:00
Mike Sinkovsky d968fafec0 zephyr: first attempt 2018-02-12 16:00:58 +03:00
Svyatoslav Scherbina b15c94855e Improve Kotlin collections support when producing framework
* Represent MutableList, Set, Map as standard Objective-C collections
* Represent MutableSet and MutableMap as Obj-C collection subclasses
* Use Objective-C generics to represent collection element type
* Make type mapping more correct
2018-02-09 20:40:33 +03:00
Svyatoslav Scherbina d228e77c0c Add AbstractSet from main Kotlin repo 2018-02-09 20:40:33 +03:00
Nikolay Igotti 7ccc73aadd Simplify regexp engine init. (#1302) 2018-02-09 11:27:01 +03:00