Commit Graph

3567 Commits

Author SHA1 Message Date
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 51e5410ffd Inliner: fix in IR copier
During copying of IR we need not only copy descriptors but also types
corresponding to classes being copied
2018-02-21 16:47:40 +03:00
Igor Chevdar 9c62d5faa3 Supported exceptions in devirtualization 2018-02-21 16:47:40 +03:00
Igor Chevdar 86e5d6c845 Implemented devirtualization of monomorphic callsites 2018-02-21 16:47:40 +03:00
Igor Chevdar 5586cf684a Implemented devirtualization analysis 2018-02-21 16:47:40 +03:00
Igor Chevdar d902b7fc93 DFG: workers support 2018-02-21 16:47:40 +03:00
Igor Chevdar 2bbab2d2bc DFG: bumped version 2018-02-21 16:47:40 +03:00
Igor Chevdar 5a57c40469 DFG: fixed debug output 2018-02-21 16:47:40 +03:00
Igor Chevdar 51801b9009 DFG: added parameter types to Function 2018-02-21 16:47:40 +03:00
Igor Chevdar 0629513fd9 DFG: placed isGlobalInitializer to FunctionSymbol 2018-02-21 16:47:40 +03:00
Igor Chevdar e3b6152a1e DFG: added array reading & writing 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
SvyatoslavScherbina adf8614889 Fix crash when producing framework with virtual suspend methods (#1344)
Note: suspend methods aren't directly available through framework API
2018-02-21 10:50:31 +03:00
Igor Chevdar 8aa4acee88 Bug fix: explicitly initialize lateinit properties/variables with null 2018-02-19 18:51:15 +03:00
Igor Chevdar bb311c7ac4 Supported lateinit locals + tests 2018-02-19 18:51:15 +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
Svyatoslav Scherbina 7861f23607 Add minor improvement to clash detection when producing framework 2018-02-15 15:48:14 +03:00
Svyatoslav Scherbina 4b91fab695 Fix assert when clashing with method of Any while producing framework 2018-02-15 15:48:14 +03:00
Nikolay Igotti bac96e3927 Fix exception contructors to match JVM/JS signatures. (#1329) 2018-02-15 15:21:41 +03:00
Jonas Seibert b42e9e9c80 Add note about konan.initRuntimeIfNeeded() (#1326)
Initing the konan runtime is mandatory if your callback runs in a different thread (e.g. in a thread-per-connection model), that should be documented!
2018-02-14 23:37:34 +03:00
Vasily Levchenko 3dc88795d8 [bindings][llvm][DI] warnings [-Wformat] 2018-02-13 14:15:02 +03:00
Ilya Matveev db253cb297 [gradle-plugin] Use HostManager instead of PlatformManager
Gradle plugin uses PlatformManager to initialize tasks
when the compiler is not downloaded yet. In this case
PlatformManager cannot read konan.properties file.
This patch replaces PlatformManager with HostManager
2018-02-13 17:31:14 +07:00
SvyatoslavScherbina 5c51f291d2 Use -O1 when compiling with debug enabled (except for wasm target) (#1320) 2018-02-13 12:22:45 +03:00
Nikolay Igotti d0722cf644 Remove kotlin.math WASM support statement. 2018-02-13 10:49:36 +03:00
ilmat192 5e11c61ffb [klib] Fix printing type parameters in methods (#1319) 2018-02-13 09:26:49 +03:00
Vasily Levchenko 959f9eaebc [warnings] g/c some warnings and idea inspection (#1312) 2018-02-13 09:26:32 +03:00
Ilya Matveev e879fcec75 [samples] Fix android sample in bundle 2018-02-12 19:02:33 +03:00
Sergey Bogolepov 0ce85df549 Minor fixes for samples
Added homebrew paths for videoplayer sample
Fixed android sample
chmod +x calculator/androidApp/gradlew
Removed obsolete stubGenerator for html5canvas
2018-02-12 19:02:33 +03:00
alexander-gorshenev 43cbea8a67 Fixed a little issue in how we call ExecClang plugin. (#1317)
Moved ExecClang plugin to Kotlin.
2018-02-12 18:59:54 +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 d047f72a2e Ask user to specify zephyr base. 2018-02-12 18:55:22 +03:00
Alexander Gorshenev 6bdd781026 Zephyr's copy of Apache license. 2018-02-12 18:53:58 +03:00
Vasily Levchenko 4e745015e4 [build][dependencies] no dependencies from sonatype (#1315)
* [build][gradle][dependencies] makes adding dependencies easier

* [build][gradle][dependencies] adding dependencies to make performance independent from sonatype
2018-02-12 18:48:56 +03:00
Ilya Matveev 3c4d99557e [klib] Fix annotation printing 2018-02-12 22:40:50 +07:00
Ilya Matveev 07b2ff3c18 [klib] Print package fq-name 2018-02-12 22:40:50 +07:00
Ilya Matveev f156c4a368 [klib] Support consts in pretty-printer 2018-02-12 22:40:50 +07:00
Ilya Matveev 709fe7b0af [klib] Support externals in pretty-printer 2018-02-12 22:40:50 +07:00
Ilya Matveev cbee66dcbe [klib] Support inner classes in pretty-printer 2018-02-12 22:40:50 +07:00
Ilya Matveev 83ce6142a1 [klib] Don't print 'abstract' in interface declaration
Also support modality for functions.
2018-02-12 22:40:50 +07:00
Ilya Matveev a18935088d [klib] Refactor enum printing and support nested classes 2018-02-12 22:40:50 +07:00
Ilya Matveev ba15ca9998 [klib] Don't print names of companion objects 2018-02-12 22:40:50 +07:00
Ilya Matveev 4c9e679180 [klib] Fix stack overflow during type parameters printing 2018-02-12 22:40:50 +07:00
Ilya Matveev f4cb918a1c [klib] Fix printing classes without a primary constructor 2018-02-12 22:40:50 +07:00
Ilya Matveev fa21659c80 [klib] Don't print val/var for all constructor parameters 2018-02-12 22:40:50 +07:00
Ilya Matveev 3d84f862b6 [klib] Fix enum printing 2018-02-12 22:40:50 +07:00
Konstantin Anisimov 829feb7375 Pretty printer for users 2018-02-12 22:40:50 +07:00
Konstantin Anisimov e0d4978760 Do not print enum entries as objects 2018-02-12 22:40:50 +07:00
Svyatoslav Scherbina e87901cf41 Fix producing framework from multi-platform projects 2018-02-12 16:24:56 +03:00
Svyatoslav Scherbina b98afb6c88 Fix producing framework with extensions to Any 2018-02-12 16:24:56 +03:00