Commit Graph

697 Commits

Author SHA1 Message Date
Igor Chevdar ac2cf0eedb Supported common lateinit lowering 2019-02-06 15:49:28 +03:00
Pavel Punegov dee467457b Stdlib warnings fixes 2019-02-04 19:03:13 +03:00
Nikolay Igotti a35a06f9f8 Fix range checks for strings for optimized builds. (#2607) 2019-02-01 09:05:56 +03:00
Nikolay Igotti da652713e6 Custom exception reporter. (#2604) 2019-01-31 16:24:45 +03:00
Pavel Punegov 715e9af5b7 Fix doc for system time getters 2019-01-30 19:11:11 +03:00
Alexander Gorshenev cfe153c742 Whole module IR serialization/deserialization.
With public descriptors inserted and wrapped ones used instead of the locals.
2019-01-25 19:21:30 +03:00
Sergey Rubanov 21852ec2a3 Improve async instantiation (#2566) 2019-01-25 08:19:26 +03:00
Svyatoslav Scherbina 6ca196399a Implement C stubs generation in compiler
Use it in
* C varargs support (thus dropping libffi from runtime)
* C callbacks support (thus enabling callbacks with structs)
2019-01-18 11:06:23 +03:00
ilya-g 8e97c94005 Document that sorting is stable (#2552) 2019-01-17 20:37:58 +03:00
SvyatoslavScherbina 7e55575fbf Use dlopen/dlsym for CoreSymbolication (#2542)
Linking it directly seems to be inconvenient when producing static lib
2019-01-17 11:10:07 +03:00
Sergey Rubanov 09d082c678 Use WebAssembly.instantiateStreaming when presented in browser (#2477) 2019-01-16 18:53:37 +02: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
Ilya Gorbunov 22f77134b0 Avoid different wording from inherited and common docs
- AbstractMutableCollection.addAll
- kotlin.native.concurrent annotations
- kotlin.test annotations
2019-01-15 10:48:43 +03:00
Ilya Gorbunov af915726c3 Regenerate docs for contentEquals/DeepEquals (KT-22942) 2019-01-15 10:48:43 +03:00
Ilya Gorbunov d76b6ad63f Update docs of String(chars, offset, length) 2019-01-15 10:48:43 +03:00
Ilya Gorbunov 68489077d0 Update Any hashCode/equals docs 2019-01-15 10:48:43 +03:00
Svyatoslav Scherbina 757449ba9c Improve error message for non-overridable methods in framework 2019-01-15 10:25:03 +03:00
Svyatoslav Scherbina 3632ed495d Refactor support for primitive types
Don't rely on special declarations in Kotlin/Native stdlib
2019-01-14 22:54:26 +03:00
Pavel Punegov 8c8194aa27 Rename Before and After EACH to TEST. Otherwise they were not processed. 2019-01-14 18:16:57 +03:00
Ilya Gorbunov ea943b715c Change implementations of contentEquals and minOf/maxOf for Native
To conform to the behavior in other platforms.
2019-01-14 18:16:57 +03:00
Pavel Punegov f5cc8a4d1e Common kotlin.test.
Remove duplicate code and add actuals.
Unify Before and AfterTest
Add kotlin-test-annotations-common and kotlin-test-common as dependencies.
2019-01-14 18:15:44 +03:00
Pavel Punegov 10b76eacf0 Make ThreadLocal and SharedImmutable be actual classes for OptionalExpectations
and move to kotlin.native.concurrent
2019-01-14 18:15:12 +03:00
Ilya Gorbunov c4abd93f53 Regenerate actual implementations with runtime:generator
The functions where implementations were significantly changed:
- toTypedArray
- contentToString
2019-01-14 18:14:20 +03:00
Ilya Gorbunov 96b7cd1235 Add project for running native stdlib source generator
This project only works with a substituted kotlin-stdlib-gen dependency
 from included kotlin build.
2019-01-14 18:14:20 +03:00
Vasily Levchenko 68234016a5 [kotlin compiler][update] 1.3.30-dev-761 2019-01-14 18:11:53 +03:00
Sergey Bogolepov 0d62143c20 Move the rest of intrinsics under TypedIntrinsic annotation (#2500)
* Create interface between codegen and intrinsics generator
* No more @Intrinsic annotation
2018-12-26 23:16:20 +07:00
SvyatoslavScherbina cfd6b80e6a Add line numbers to stacktraces in macos_x64/ios_x64 debug binaries (#2489) 2018-12-24 17:05:27 +03:00
Igor Chevdar cfe2d2b7ce Fixed typo in one of GC passes (#2492) 2018-12-24 13:18:04 +03:00
Nikolay Igotti 0369a282c8 Symbolication sample (#2479) 2018-12-20 13:47:15 +03:00
Sergey Bogolepov baaf6edba7 Move more intrinsics under TypedIntrinsic annotation (#2474) 2018-12-19 18:40:30 +03:00
Sergey Rubanov 992a0a7337 Make launcher.js work in Web Workers / Worklets
Since WebAssembly object should be exposed to Window/Worker/Worklet according to [it's WebIDL](https://webassembly.github.io/spec/js-api/index.html#webassembly-namespace)
2018-12-18 16:29:05 +03:00
Nikolay Igotti b7d5452c1d Fix memory leak, improve memory logging. (#2469) 2018-12-18 14:13:23 +03:00
Sergey Bogolepov e720844ff6 Fix comparison of booleans. (#2468) 2018-12-14 17:39:25 +07:00
Sergey Bogolepov 4f9cea4ee2 Convert arithmetic operations to intrinsics (#2464)
Convert arithmetic operations from C++ functions to intrinsics
2018-12-13 08:37:13 +07:00
Nikolay Igotti 2e7cfa0b1e More fault-tolerance in the Worker API. (#2451) 2018-12-12 11:35:33 +03:00
Ilya Matveev 49a457398e Fixes in kotlin.test (#2453)
JUnit and TestNG have some behavioral features that were not reflected
in the kotlin.test implementation for Kotlin/Native:

 - Any method (even a method which has no its own annotations) having
   a super method marked by any test annotation (e.g. @Test or
   @BeforeTest) is still executed during the test run unless
   the super method doesn't belong to an interface.
 - Annotation @Ignore makes sense only in a pair with the @Test
   annotation. In other words, if a super method has only the @Test
   annotation and the overriding method has only @Ignore annotation,
   the overriding method will still be executed.

This patch makes kotlin.test behavior corresponding to these
features.
2018-12-11 18:02:25 +07: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 c6ac807034 Get rid of uneeded parts of RTTI. (#2435) 2018-12-03 12:39:47 +03:00
Pavel Punegov 441bf924d4 Move all Konan specifics to extension and completely remove KonanDescriptorSerializer
Update Kotlin compiler and stdlib to 1.3.20-dev-2050
Remove obsolete testDataVersion
2018-11-28 12:21:33 +03:00
Pavel Punegov b3797c98ff Add contracts to assertions 2018-11-28 12:19:43 +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
Ilya Matveev 3610588666 [regex] Minor naming refactoring 2018-11-23 15:18:58 +07:00
Ilya Matveev 6cacbfbc36 [regex] Remove native-specific API 2018-11-23 15:18:58 +07:00
Ilya Matveev aa0f0f169d [regex] Add missing exception messages 2018-11-23 15:18:58 +07:00
Ilya Matveev f8bbd5eff0 [regex] Fix memory leak in debug mode 2018-11-23 15:18:58 +07:00
Ilya Matveev a82dd82402 [regex] Clarify exception messages 2018-11-23 15:18:58 +07:00
Ilya Matveev 54beb0c8e8 [regex] Fix quantifier processing
Consider the following regular expression:

((.){0,1}b)+

The original Harmony implementation fails to match a string '0b1b'
with it. The root-cause is the following. After matching the inner
group first time (it matches '0' in the input string) we don't
reset the counter of occurrences for it and proceed to the next
elements for the regex. When we should match it the second time (we
should match '1' at this point) we obtain this obsolete value of the
counter and come to a conclusion that the group has more occurrences
than specified in the quantifier.

The fix resets this counter each time we move to next elements of
a regex from a QuantifierSet.
2018-11-23 15:18:58 +07:00