Commit Graph

99 Commits

Author SHA1 Message Date
Nikolay Igotti 1161e2c6b4 Improve stack slots object references handling. (#2912) 2019-04-29 17:03:40 +03:00
Nikolay Igotti a764723e4f Fix object sharing and early instance allocations. (#2908) 2019-04-23 16:43:39 +03:00
Nikolay Igotti d072920133 Rework memory manager to make stack slot update faster (#2813) 2019-04-09 15:40:14 +02:00
Nikolay Igotti c3b2b47403 Distinguish stack/heap writes and collect stats. (#2794) 2019-03-22 15:50:42 +03:00
Nikolay Igotti 55fc1345cb Test for negative array length. (#2710) 2019-02-26 18:29:33 +03:00
Nikolay Igotti 5220478f15 Fix incorrect recursion conversion. (#2548) 2019-01-16 18:30:34 +02:00
Nikolay Igotti 6c970f4c9f Remove remaining recursive memory manager operations. (#2541) 2019-01-15 17:52:38 +02:00
Igor Chevdar cfe2d2b7ce Fixed typo in one of GC passes (#2492) 2018-12-24 13:18:04 +03:00
Nikolay Igotti b7d5452c1d Fix memory leak, improve memory logging. (#2469) 2018-12-18 14:13:23 +03:00
SvyatoslavScherbina 328413337b Improve code related to object layout (#2446) 2018-12-09 10:38:23 +03:00
Nikolay Igotti 9e3a68f835 Reduce size of object header by one pointer. (#2432) 2018-12-03 13:50:56 +03:00
Nikolay Igotti ffb9ec7e7d Improve memory manager stats. (#2368) 2018-11-23 15:57:28 +03:00
Nikolay Igotti 58a82b22bb Replace finalization queue with the linked list. 2018-11-23 15:45:52 +03:00
Nikolay Igotti 70efeb1433 Small MM refactor, ignore acyclic and frozen objects in cycle collector. (#2354) 2018-11-22 17:38:51 +03:00
Nikolay Igotti 3e10e15f97 Sharing the mutable binary data (#2311) 2018-11-19 13:16:39 +03:00
Nikolay Igotti 2a65528968 Avoid recursion in GC traversals. (#2322) 2018-11-14 18:50:22 +03:00
Igor Chevdar c1a41c9dc4 Fix for https://github.com/JetBrains/kotlin-native/issues/2291 (#2302)
Deallocation hooks might trigger recursive GC - forbid that.
2018-11-07 13:58:32 +03:00
Nikolay Igotti 3d2453b795 Fix problem with ensureNeverFrozen(). (#2292) 2018-11-02 17:47:41 +03:00
Nikolay Igotti 70a019b4af Restore GC-free runtime version. (#2215) 2018-10-16 08:04:28 +03:00
SvyatoslavScherbina 973cc7bbdb Improve support for using frozen objects from other threads (#2202) 2018-10-12 09:28:09 +03:00
Svyatoslav Scherbina 81b7109856 Add basic checks for illegal object sharing in Objective-C interop 2018-09-11 18:17:30 +03:00
Nikolay Igotti a216bf8903 Freeze top-level val. (#1906) 2018-08-22 14:30:42 +03:00
Nikolay Igotti bed09e1a87 Atomic value setters. (#1902) 2018-08-19 00:49:15 +03:00
Nikolay Igotti 66767ec3fd Rework frozen lazy to explicitly prevent cyclic garbage. (#1894) 2018-08-17 17:47:35 +03:00
Sergey Bogolepov 5a66f91da5 Update LLVM to 6.0.1 and WebAssembly target refactoring (#1788)
* wasm updates: removed binaryen, simplified morecore and launcher.js
* Updated LLVM toolchain to 6.0.1
2018-08-14 21:08:45 +03:00
Vasily Levchenko 79755d8fbf [stdlib and samples][rename] konan -> kotlin.native 2018-08-14 15:05:24 +03:00
Nikolay Igotti da7e31a10a APIs for easier freeze debugging. (#1783) 2018-07-10 14:28:56 +03:00
Svyatoslav Scherbina 155b7b698e Fix minor bug in memory management
Properly handle the case when the program finishes with empty 'toFree' buffer
but non-empty deallocation queue.
2018-07-04 22:31:49 +03:00
Nikolay Igotti dfc01847c5 Freeze objects by default, stdlib improvements. (#1743) 2018-07-03 16:45:34 +03:00
Nikolay Igotti 1df27a7884 Tweaks to atomics implementation. (#1703) 2018-06-20 14:36:16 +03:00
Nikolay Igotti f4ac18b780 Kotlin machine scheduling primitives. (#1677) 2018-06-09 16:08:42 +03:00
Nikolay Igotti 4bc12573f2 Improve code quality by explicit static container reference. (#1664) 2018-06-07 17:01:54 +03:00
Svyatoslav Scherbina 2934588bbe Fix garbage cycle collection for kotlin.Array 2018-06-05 12:32:15 +03:00
Nikolay Igotti c5c2a080d8 Fix missing dealloc hooks on object freed by cycle collector. (#1487) 2018-04-12 18:40:07 +03:00
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
Nikolay Igotti 21079ae644 Weak references. (#1459) 2018-04-04 14:35:06 +03:00
Igor Chevdar e84e76107f Supported cycles during object subgraph freezing 2018-03-30 17:59:33 +03:00
Nikolay Igotti 0abcd62c13 Meta-object support. (#1451) 2018-03-30 11:05:21 +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
Nikolay Igotti a6fa19a7fd Object freezing API (#1390) 2018-03-14 11:51:48 +03:00
Nikolay Igotti 19cc8c6bee API for object passing between platform threads. (#1270) 2018-01-30 13:19:56 +03:00
Nikolay Igotti 12d3346c36 Minor code cleanup. (#1264) 2018-01-26 20:48:21 +03:00
Nikolay Igotti 155618c7dd Simple GC ergonomics. 2018-01-25 12:54:42 +03:00