Commit Graph

21 Commits

Author SHA1 Message Date
Alexander Gorshenev afaa50ce34 Introduced -target and -list_targets flags.
Use it like

    $ konanc hello.kt -target iphone
2017-01-23 00:17:39 +04:00
Alexander Gorshenev c15fb6833d Profiling machinery. 2016-12-29 16:07:43 +04:00
Alexander Gorshenev 413f47fda5 Removed 'clang' invocations in favour of llvm tools and 'ld'.
Introduced LinkStage in the compiler.

Removed the link stage from 'konanc'.

Removed duplicate :stdlib and :start targets.

Simplified test run task a lot.
2016-12-28 02:13:07 +04:00
Alexander Gorshenev a1786614ea Removed Javascript serializer from Konan.
Introduced our own serializer.
2016-12-20 19:32:27 +04:00
Alexander Gorshenev 35668cc7e1 Added phase control flags.
-print_descriptors
-print_ir
-print_bitcode

-verify_descriptors
-verify_ir
-verify_bitcode

-list

-enable <phase name>
-disable <phase name>
-verbose <phase name>
2016-12-13 21:31:47 +04:00
Konstantin Anisimov 8496a0f2a9 CODEGEN: naive implementation of string_concatination (not tested)
(cherry picked from commit 8e0e9480d7cbec6e640f1b5a8a15af0d2f1bc278)
2016-11-25 23:37:49 +03:00
Alexander Gorshenev 1d265bc50c Here goes stdlib separation.
$ gradlew backend.native:stdlib

builds you stdlib.kt.bc now.

The test runs are taught to supply
-library stdlib.kt.bc to kotlin compiler for proper imports resolution,
and then later stdlib.kt.bc is provided to clang for the final link step.
2016-11-18 19:11:38 +04:00
Alexander Gorshenev b0d10e45d8 changed DynamicTypesAllowed() to DynamicTypesSettings() in KonanPlatformConfigurator.kt 2016-11-18 19:11:38 +04:00
Alexander Gorshenev 8321c14e36 Introduced KonanPlatform, KonanConfig, TopDownAnalyzerFacadeForKonan
and several other supporting facilities
2016-11-17 18:16:15 +04:00
Vasily Levchenko 5b7d0257e8 upgrade kotlin-compiler: 20161108.133759-248 2016-11-08 17:38:09 +03:00
Alexander Udalov a7bef2d0ee Lower priority of compiler built-ins in resolution (#43)
* Remove unneeded module context creation in K2Native

Calling this method is useful only when its result is used

* Use JvmAbi from compiler instead of reflection implementation

Package "kotlin.reflect.jvm.internal.impl" is internal implementation detail of
kotlin-reflect and should not be used

* Run native back-end with "-ea"

This allows to get more detailed messages in case something fails

* Lower priority of compiler built-ins in resolution

CREATE_BUILT_INS_FROM_MODULE_DEPENDENCIES makes sure that the "built-ins" that
the compiler front-end uses during the resolution are loaded from the module
being resolved itself, i.e. from its sources and/or dependencies. E.g. if
there's a class named kotlin.Any in module sources, it'll become the default
supertype for any class without an explicit supertype.

ADD_BUILT_INS_FROM_COMPILER_TO_DEPENDENCIES adds the built-ins from the
compiler jar to the end of the dependencies list of the module being resolved.
This option makes sure that if there's no built-in class in module
sources/dependencies and it is required by the front-end, the class definition
from the compiler jar will be taken instead of failing with an exception.

If both of these options are turned on, the effect is basically that compiler
built-ins are still there in the classpath, but have a lower priority than
classes explicitly declared in sources
2016-11-08 16:20:33 +03:00
Alexander Gorshenev 67889cb31c Further relocation from 'native' to 'kotlin'
Moved the left behind files and renamed the package.
2016-11-08 13:22:24 +03:00
Nikolay Igotti a2e4f0f467 Move compiler to new version, add primitive types. (#33) 2016-11-03 15:31:33 +03:00
Nikolay Igotti 7eeb2d3046 Various fixes for HelloWorld. (#27) 2016-11-01 15:33:41 +03:00
Konstantin Anisimov 64e9f2a2f7 minor refactoring in native to frontend interface 2016-10-28 16:59:06 +03:00
Vasily Levchenko 639c4f9786 frontend: prints compilation error 2016-10-20 23:03:10 +03:00
Vasily Levchenko ddae560ffe support new interface for jvm frontend 2016-10-17 14:03:25 +03:00
Vasily Levchenko bbe86f25bc hardcoded (temporary) path to extensions/common.xml, to fix fall on unresolved symbols 2016-10-07 17:17:53 +03:00
Svyatoslav Scherbina 277835fccb backend.native: add some dirty code to emit bitcode with RTTI for fields 2016-09-29 17:41:54 +07:00
Svyatoslav Scherbina 78a912f637 backend.native: tie compiler to runtime
to make compiler able to refer entities declared in runtime
2016-09-29 17:41:54 +07:00
Vasily Levchenko 0eaaa58ed9 HEAD UPS! Global move: experiments -> kotlin-native 2016-09-28 13:22:36 +03:00