Commit Graph

1424 Commits

Author SHA1 Message Date
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
Alexander Gorshenev 9999275f4a Disabled cross-compilation to iphone on Linux. 2017-01-23 17:49:58 +04:00
ilmat192 ef14464bed Merge pull request #191 from JetBrains/binaryOp-fix 2017-01-23 14:08:12 +03:00
Svyatoslav Scherbina 16ca882298 backend/tests: add cast_null and unchecked_cast3 2017-01-23 17:18:43 +07:00
Svyatoslav Scherbina ef6c5364a6 backend: fix handling T? as type operand:
Preserve erased type nullability in type operations lowering.
Also make erasure more strict to detect unsupported cases.
2017-01-23 17:18:43 +07:00
Svyatoslav Scherbina 183155a8a1 backend: handle nullability in cast 2017-01-23 17:18:43 +07:00
Svyatoslav Scherbina 97ce2227d5 backend/tests: add boxing{14,15}
the latter is disabled.
2017-01-23 16:56:44 +07:00
Svyatoslav Scherbina 3aa48b7e0c backend: do not rely on parameter.original in autoboxing
`function.parameter.original` sometimes turns out to be
not the same as `function.original.parameter`.
2017-01-23 16:56:44 +07:00
Vasily Levchenko 8ca5d08e8e compiler: 1.1-20170120.135555-375 2017-01-23 11:34:42 +03:00
Ilya Matveev a3b8d26c1f runtime: Avoid UB in shift operations 2017-01-23 10:33:06 +03:00
Ilya Matveev 154c889517 runtime: Add exception for division by zero 2017-01-23 10:33:06 +03:00
Ilya Matveev 7f911b8085 backend/tests: Ignore binaryOp/compareWithBoxed... tests 2017-01-23 10:33:06 +03:00
Ilya Matveev 4765a20ae8 Add bitwise operations for Short and Byte
This commit adds and, or and xor operations to Byte and Short types.
It also implements inv operation for all integer types, shl for Long
and Char + Int operation.
2017-01-23 10:33:06 +03:00
Svyatoslav Scherbina f36bb78a7f backend/tests: enable fields2 because it was fixed 2017-01-23 14:27:26 +07:00
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
Nikolay Igotti d31b44135a Temporary disable inlining. 2017-01-20 19:03:54 +03:00
Svyatoslav Scherbina 1f7738e052 backend: fix minor bug in evaluateWhen
Also add the corresponding test 'when9'.
2017-01-20 20:02:50 +07:00
Svyatoslav Scherbina 0958d32605 backend: improve typealias support:
* handle TypeAliasConstructorDescriptor in codegen
* ignore ignore typealias declaration in codegen

Also add test 'typealias1'.
2017-01-20 20:02:50 +07:00
Svyatoslav Scherbina 65444ec690 backend: improve type operators support:
* add initial support for casts with generics;
* optimize out the casts to subtypes

Also add tests unchecked_cast{1,2}, the latter is disabled.
2017-01-20 20:02:50 +07:00
ilmat192 9bf0380048 Merge pull request #185 from JetBrains/blackbox-testing
Blackbox testing
2017-01-20 14:28:09 +03:00
Ilya Matveev 48122c8a03 backend/tests: Add test result reporting to run_external task.
+ regenerate external tests.
2017-01-20 14:24:35 +03:00
Ilya Matveev d18219c383 backend/tests: Fixes in regenerate_external_tests task 2017-01-20 14:24:35 +03:00
Ilya Matveev 6efe2b6d31 backend/tests: Add compilation logging 2017-01-20 14:24:35 +03:00
Ilya Matveev 8ec33334a4 backend/tests: Enable some tests in the binaryOp group 2017-01-20 14:24:26 +03:00
Ilya Matveev 2ef49da2fe backend/tests: Ignore all tests with IGNORE_BACKEND: JS directive 2017-01-20 14:04:04 +03:00
Ilya Matveev 89a74c0591 backend/tests: Use IGNORE_BACKEND directive to exclude java-dependent tests 2017-01-20 14:04:04 +03:00
Ilya Matveev d24f966600 backend/tests: Regenerated external test tasks 2017-01-20 14:04:04 +03:00
Ilya Matveev bfdda21da1 backend/tests: Added task generation for test groups instead of tests 2017-01-20 14:04:04 +03:00
Ilya Matveev b6587252c0 backend/tests: Added test group running 2017-01-20 14:04:04 +03:00
Ilya Matveev ee58c7ee5f backend/tests: Added autogenerated tasks for external tests 2017-01-20 14:04:04 +03:00
Ilya Matveev fd44baf2c0 backend/tests: Infrastructure for external test running 2017-01-20 14:04:04 +03:00
Ilya Matveev 1b553ebfaf backend/tests: Add blackbox tests from Kotlin JVM
Added tests from testData/codegen/box directory. There are blackbox tests
in other directories and they are to be added.
2017-01-20 14:04:04 +03:00
Svyatoslav Scherbina d5988297b1 backend/tests: add objectExpression{1,2,3} 2017-01-20 17:53:38 +07:00
Svyatoslav Scherbina 26e1075893 backend: lower local classes 2017-01-20 17:53:38 +07:00
Svyatoslav Scherbina ead5f93a90 backend: rename Local{Functions => Declarations}Lowering 2017-01-20 17:53:38 +07:00
Svyatoslav Scherbina 28f1f5a180 backend: import LocalFunctionsLowering again 2017-01-20 17:53:38 +07:00
Svyatoslav Scherbina 40eea333ce backend: build ModuleIndex for codegen after lowering 2017-01-20 17:53:38 +07:00
Svyatoslav Scherbina 97b5c60455 backend: support IrField located directly at IrClass 2017-01-20 17:53:38 +07:00
Nikolay Igotti eb6ba1cfa5 Fix primitive type globals initialization. (#189) 2017-01-20 13:31:47 +03:00
Nikolay Igotti 1c878e4843 Improve object init order. (#187) 2017-01-20 13:31:01 +03:00
Vasily Levchenko 0e05d3b30a compiler: 1.1-20170119.231846-374 2017-01-20 12:06:53 +03:00
KonstantinAnisimov e604efb254 Merge pull request #176 from JetBrains/inline
Inline
2017-01-20 10:26:52 +07:00
KonstantinAnisimov 1a83014eba Merge branch 'master' into inline 2017-01-20 10:26:34 +07:00
Konstantin Anisimov 67013f8a60 Two passes inline scheme implemented 2017-01-18 17:22:14 +07:00
Konstantin Anisimov 551218c133 TESTS: new tests added 2017-01-18 17:21:04 +07:00
Svyatoslav Scherbina 8474168960 backend/tests: add objectInitialization1 2017-01-18 12:33:43 +07:00
Svyatoslav Scherbina 648e728d90 backend, runtime: place vtable at the end of TypeInfo 2017-01-17 13:26:32 +07:00
Nikolay Igotti 913916e6dd Implement virtual invoke via vtables. (#181)
Small refactoring to share vtable computation code.
2017-01-16 15:25:36 +03:00
Vasily Levchenko 56093ecbe0 compiler: 1.1-20170116.100209-359 2017-01-16 14:19:07 +03:00