Commit Graph

1493 Commits

Author SHA1 Message Date
Konstantin Anisimov 17c3f9fd86 Typo fixed 2017-02-06 16:49:12 +07:00
Konstantin Anisimov 27de5850d9 Comments added. Variables renamed 2017-02-06 16:49:12 +07:00
Nikolay Igotti 84635b0eca Improve object arrays support. (#182)
Also fix the way how symbol names are being generated. Before arrays2.kt was not linking.
2017-02-06 16:45:17 +07:00
Nikolay Igotti 5808df477a Cycle collector. (#175) 2017-02-06 16:45:14 +07:00
Konstantin Anisimov 35807b4f40 Merge 2017-02-06 16:45:14 +07:00
Konstantin Anisimov 99ef87ec78 TESTS: new tests added 2017-02-06 16:45:14 +07:00
Konstantin Anisimov 6a1745e8ac TESTS: new inline tests added 2017-02-06 16:44:53 +07:00
Svyatoslav Scherbina 150d0f6cd5 backend: update kotlin-compiler and remove code contributed to Kotlin
Update kotlin-compiler to 1.1-20170112.203631-353

Also remove workarounds for fixed bugs.
2017-02-06 16:44:00 +07:00
Konstantin Anisimov 6b99f38521 Merge branch 'master' of https://github.com/JetBrains/kotlin-native 2017-02-03 10:37:20 +07:00
Svyatoslav Scherbina f6cab824ab backend/tests: enable boxing15 2017-02-02 19:22:22 +07:00
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
Konstantin Anisimov 263e658b1b Merge 2017-02-02 17:13:19 +07:00
Konstantin Anisimov 4be3649daf Merge 2017-02-02 17:11:57 +07:00
Konstantin Anisimov c745af1fe8 Sorce location has been changed 2017-02-02 16:56:37 +07:00
Konstantin Anisimov e0a3c4ad4c TESTS 2017-02-02 16:34:26 +07:00
Konstantin Anisimov be2b2f1b43 Non local return implemented 2017-02-02 16:33:55 +07: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
Konstantin Anisimov 043fd8b0ec Lambda without parameters is inlined 2017-02-01 16:39:53 +07: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
Konstantin Anisimov 0e9ca39d9f Intermediate results 2017-01-31 16:04:57 +07:00
Konstantin Anisimov 8d943bc5ab Inlining moved in the beginning of lowering passes 2017-01-31 16:03:30 +07:00
Konstantin Anisimov e10d9b62e2 TESTS: new tests added 2017-01-31 16:01:46 +07: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