Commit Graph

1472 Commits

Author SHA1 Message Date
Svyatoslav Scherbina 15107f4cdc backend: improve value types support:
Introduce value type definition.

Use the same type checking strategy in codegen and autoboxing.
Optimize the latter by that.
2017-02-02 19:22:22 +07:00
Ilya Matveev 31a0423225 build: Do not build runtime and stdlib for dist_compiler task 2017-02-02 13:21:11 +03:00
Ilya Matveev b4ee0e86d2 backend: Fix uninitialized property access in LocalDeclarationsLowering 2017-02-02 10:22:31 +03:00
Ilya Matveev f960c70c68 backend: Copy AbstractClosureRecorder from Kotlin JVM
Copied from org.jetbrains.kotlin.backend.common.
AbstractClosureAnnotator
2017-02-02 10:22:31 +03:00
Vasily Levchenko e7159d364f TEST: with no parameters to vararg 2017-02-02 07:49:35 +03:00
Vasily Levchenko 2479593f44 IR: using function descriptor valueParameters field instead of visiting children of IrCall
code
```
  fun foo(vararg x: Any?) {}
  fun bar() = foo()
```
produce following IR:
```
FUN public fun bar(): kotlin.Unit
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='bar(): Unit'
          CALL 'foo(vararg Any?): Unit' type=kotlin.Unit origin=null
            x: BLOCK type=kotlin.Array<T> origin=null
              CALL 'constructor Array(Int)' type=kotlin.Array<T> origin=null
                <T>: Any?
                size: CONST Int type=kotlin.Int value='0'
```
2017-02-02 07:49:35 +03:00
Nikolay Igotti bb43b6ab09 Fix Any.toString(). 2017-02-01 18:17:50 +03:00
Nikolay Igotti 6192dc254a Fix way how function table is built. Allows to extend Exception class. (#210) 2017-02-01 15:43:28 +03:00
Vasily Levchenko 06c703f840 IR: lowering for vararg expressions including spread element. 2017-01-31 21:10:50 +03:00
Vasily Levchenko 4905d2a056 STDLIB: internal Array::<init>(Int) obtains konan.internal.ExportForCompiler annotation 2017-01-31 21:10:50 +03:00
Vasily Levchenko 458aa058c0 RUNTIME: grant access to symvols marked with konan.internal.ExportForCompiler 2017-01-31 21:10:50 +03:00
Vasily Levchenko 47a5e13ff3 STDLIB: konan.internal.ExportForCompiler added annotation to mark symbol exported for generation with compiler 2017-01-31 21:10:50 +03:00
Igor Chevdar 4911f78200 Inner classes (#207)
* Inner classes lowering

* cmd line fix

* tests

* * reverted adding parameter to inner classes constructors
* variables are identified by their descriptors

* review fixes
2017-01-31 15:36:21 +05:00
Vasily Levchenko eeea4fc101 compiler: 1.1-20170131.025158-393 2017-01-31 11:58:37 +03:00
Nikolay Igotti f0950a92c3 Various small fixes. (#208) 2017-01-30 18:36:12 +03:00
Ilya Matveev 162676c878 buildSrc: fix goldValue initialisation in test suite 2017-01-30 14:17:04 +03:00
Nikolay Igotti b06f5d0d5b More preparations for escape analysis. (#201) 2017-01-30 11:10:32 +03:00
Igor Chevdar 01cb9d4cac Implementation of super methods calling (#203)
* implemented super call

* tests

* removed redundant code
2017-01-27 16:38:48 +05:00
Svyatoslav Scherbina 36c90ac47d backend: improve default arguments lowering:
use the same `$default`-descriptor in declaration and call.
2017-01-27 17:27:04 +07:00
Svyatoslav Scherbina 6104648d5b backend: simplify EnumClassLowering:
do not set correct member scope for synthesized classes.
2017-01-27 17:27:04 +07:00
Svyatoslav Scherbina a72732b543 backend: simplify LocalDeclarationsLowering:
do not transform descriptors for moved declarations.
2017-01-27 17:27:04 +07:00
Svyatoslav Scherbina a97b3935e2 backend: rework descriptor usage
* handle differently internal and exported declarations
* bind LLVM declarations to descriptor instances used as keys
* fix some related issues
2017-01-27 17:27:04 +07:00
Svyatoslav Scherbina cf946a7676 backend/tests: update and disable 'defaults4' 2017-01-26 13:53:40 +07:00
Ilya Matveev b7a78deafa backend: Place *.bc.o files in a temporary directory for llvmLto() 2017-01-25 17:52:35 +03:00
Ilya Matveev 59e093c8e4 backend: Place *.bc.o files in a temporary directory for llvmLlc() 2017-01-25 17:52:35 +03:00
Vasily Levchenko 778574c428 STDLIB: arrayOf() public function
(cherry picked from commit 3240bec552420dfad73841ed6433b2b5cb29b5e6)
2017-01-25 17:45:23 +03:00
Ilya Matveev b1dc142486 buildSrc: Add ParallelizableTask annotation to KonanTest class 2017-01-25 17:24:36 +03:00
Ilya Matveev 5da131d9f1 buildSrc: Add multifile support for internal tests 2017-01-25 17:24:36 +03:00
Ilya Matveev 7285c57cd8 backend/tests: Generate external test tasks in config stage
We generate tasks for external tests group during Gradle's configuration
phase instead of using separate task (regenerate_external_tests)
2017-01-25 17:24:36 +03:00
Ilya Matveev f096e272b3 backend.native/tests: Add JSON output to run-external task 2017-01-25 17:24:36 +03:00
Ilya Matveev 6e0c2fface backend.native/tests: Add clean task to remove test output directory 2017-01-25 17:24:36 +03:00
Ilya Matveev c04233aebb buildSrc: Save test results to JSON 2017-01-25 17:24:36 +03:00
Ilya Matveev a4c4b1e7af buildSrc: Use SourceSet to define test output directory. 2017-01-25 17:24:36 +03:00
Vasily Levchenko 99a962df42 TEST:EXTERNAL: run task added 2017-01-25 17:24:36 +03:00
Vasily Levchenko 6729d1d824 TEST: external generate run task for externals 2017-01-25 17:24:36 +03:00
Vasily Levchenko 7cbaa7d6ca EXTERNAL:TEST: regenerated 2017-01-25 17:24:36 +03:00
Vasily Levchenko a59de510cd TEST: more fixes in template 2017-01-25 17:24:36 +03:00
Vasily Levchenko b9b44ebeb4 test: fixed task daily declaration 2017-01-25 17:24:36 +03:00
Vasily Levchenko 822816da3f tests: external gradle script generation emproved 2017-01-25 17:24:36 +03:00
Vasily Levchenko 86e01d3636 BuildSrc: logFileName uses task name 2017-01-25 17:24:36 +03:00
Nikolay Igotti c6a4ec2ff4 Add enumeration support. (#128)
* Add enumeration support.

* Enum classes lowering.

* merge fix

* merge fix

* used arrayOf from irModule

* changed lowering quant from body to file

* refactoring

* review fixes

* lowering for GET_OBJECT in enums

* enabled tests

* added tests

* moved tests to separate dir

* renamed test files

* moved phase up

* review fixes

* reformat
2017-01-25 14:39:36 +05:00
Nikolay Igotti 66293cb89f Frame-local allocations. (#193) 2017-01-24 17:16:54 +03:00
Nikolay Igotti afeb1b2d55 More of stdlib. (#183) 2017-01-24 15:27:08 +03:00
Alexander Gorshenev 7226a47edf Disable simulator sysroot download. 2017-01-24 11:37:24 +04:00
Alexander Gorshenev 5814c72c74 Temporarily disabled iphone_sim build, until we figure out how to bring the
sysroot for it.
2017-01-24 02:23:08 +04:00
Alexander Gorshenev a856b0d9ce More accurate host- and cross- target separations. 2017-01-24 02:23:08 +04:00
Alexander Gorshenev e895c0939c More complete iphone_sim target support. 2017-01-24 02:23:08 +04:00
Vasily Levchenko 00aba8a08d TEST: enable defaults{4,5,6} 2017-01-23 17:40:24 +03:00
Vasily Levchenko dce532f236 IR: default parameter extension emproved espcially for overided cases and fields evaluating in paramter's expressions.
minor changes:
- added phase's logging.
2017-01-23 17:40:24 +03:00
Vasily Levchenko 5c11c28a09 CODEGEN: variable manager uses descriptor.name as part of the key instead of descriptor
minor changes:
- rename descriptors -> contextVariableToIndex in variable manager
2017-01-23 17:40:24 +03:00