Igor Chevdar
63e5aaecba
Added type checks for special bridges (Collection, Map, List)
2017-05-23 12:25:10 +03:00
Igor Chevdar
c3b7d5a8c9
Inliner: fixed bug with leaking descriptors
...
An inline function might return an object, internal of which are leaked
to the outside, we need to substitute those descriptors as well
2017-05-23 11:44:09 +03:00
Igor Chevdar
072da99ba3
Coroutines bug fix: correct handling of returnIfSuspended intrinsic
2017-05-23 11:44:09 +03:00
Igor Chevdar
e834218183
Inliner: fixed bug with default lambda arguments
2017-05-23 11:44:09 +03:00
Igor Chevdar
7f012fabc2
Ignored/enabled/fixed some external tests
2017-05-23 11:44:09 +03:00
Igor Chevdar
8599ac065f
Fixed order of arguments for inline function
...
Default arguments are evaluated inside callee as opposed to other
arguments computed at callsite.
2017-05-23 11:44:09 +03:00
Miquel Beltran
dfc179e2b9
Support armv6 devices (Pi Zero) ( #588 )
2017-05-21 10:56:40 +03:00
Ilya Matveev
cdec464b29
Update compiler (1.1-20170519.065155-538)
2017-05-19 19:07:26 +07:00
Alexander Gorshenev
85ecce2a9e
Don't use a golden value for a test that don;t run.
2017-05-19 13:52:35 +03:00
Alexander Gorshenev
2283a941b7
Simple sanity check of cross compilation build and compiler execution.
2017-05-19 13:52:35 +03:00
Alexander Gorshenev
7b2f3923a6
Eliminated dependency of library reader interface on compiler configuration.
2017-05-19 12:42:13 +03:00
Alexander Gorshenev
b0d27820c8
Minor tweaks to KonanLibrary.
2017-05-19 12:42:13 +03:00
Alexander Gorshenev
6c00815968
Updated the klib scheme a little.
...
Renamed 'module' to 'manifest'.
And placed module header protobuf to linkdata/<module> file rather
as another line in the manifest.
2017-05-19 12:42:13 +03:00
Alexander Gorshenev
53473fc0dd
Collected klib scheme to a single interface.
2017-05-19 12:42:13 +03:00
Alexander Gorshenev
fc1c5cac09
A minor typo in a file name construction.
2017-05-19 12:42:13 +03:00
Alexander Gorshenev
b42916b08e
Shuffle some library classes around.
2017-05-19 12:42:13 +03:00
Vasily Levchenko
c8badb0a38
DEBUGINFO: generate forward declaraion of the type instead of kotlin.Any
...
Previously in case type wasn't resolved in codegen (debug info wasn't constructed from IR),
we'd use reference to kotlin.Any? as type, from now we're using forward declaration. What next?
- type parameters... how to deal with?
(cherry picked from commit 579acba659fe52afec638fc00e07a320560bd5fa)
2017-05-18 18:39:31 +03:00
SvyatoslavScherbina
c9d7f976a5
Update compiler to IR with symbols, part 2 ( #581 )
...
The symbols produced by first lowering phases are now bound
2017-05-18 17:54:53 +03:00
Konstantin Anisimov
3000b1ec41
One more lateinit
2017-05-18 19:30:50 +07:00
Konstantin Anisimov
cfe78ad05c
One more lateinit
2017-05-18 19:30:50 +07:00
Konstantin Anisimov
3ee1e114c9
Establish dependency LOWER_INLINE -> LOWER_INLINE_CONSTRUCTORS
2017-05-18 19:30:50 +07:00
Konstantin Anisimov
8f1073cab8
Inliner searches function declaration using descriptor.original
2017-05-18 19:30:50 +07:00
Konstantin Anisimov
de5ff23a2b
Move inline constructor transformation to separate compilation pass
2017-05-18 19:30:50 +07:00
Igor Chevdar
daa302e233
Enabled some tests on coroutines
2017-05-18 11:56:32 +03:00
Igor Chevdar
3e2fccc3f4
Implemented inheritance of lambdas from SuspendFunction
2017-05-18 11:56:32 +03:00
Igor Chevdar
c048fcecce
Rewrote coroutines lowering to use symbols
2017-05-18 11:56:32 +03:00
Igor Chevdar
827f92305c
Rewrote CallableReferenceLowering to use symbols
2017-05-18 11:56:32 +03:00
Igor Chevdar
9120e0b998
Moved common code for IR building to IrBuildUtils
2017-05-18 11:56:32 +03:00
Igor Chevdar
a41552b3c8
Rewrote callable reference lowering
...
For each callable reference a class inherited from KFunctionImpl is built.
2017-05-18 11:56:32 +03:00
Alexander Gorshenev
dc80ba3492
Moved KonanLibrary to org.jetbrains.kotlin.backend.konan.util.File
...
instead of java.io.File.
2017-05-18 04:13:35 +03:00
Alexander Gorshenev
3b5ce031f8
Initial checkin of klib support.
...
The libraries exist in two incarnations:
packed foo.klib and unpacked foo/ .
The compiler when given '-library foo' expects to find either
a foo.klib file and unpack it, or an already unpacked foo/ directory.
The stdlib is always unpacked in dist/klib .
The semantics of -o has changed slightly.
It now accepts '-o foo' and the compiler
either produces foo.kexe or foo.klib .
2017-05-18 04:13:35 +03:00
Alexander Gorshenev
77e093354f
Squash me more.
2017-05-17 22:04:32 +03:00
Alexander Gorshenev
bb40d015d0
Fix up after the code review. Squash me.
2017-05-17 22:04:32 +03:00
Alexander Gorshenev
d4c34b29c1
Added support for inline class members.
...
Inline constructors in particular.
2017-05-17 22:04:32 +03:00
Alexander Gorshenev
2a246a9a3a
Some tests for inline members.
2017-05-17 22:04:32 +03:00
Igor Chevdar
8a789a9ac4
Added test on function overriding return type with Unit
2017-05-16 16:30:29 +03:00
Igor Chevdar
bdb185ee93
Added bridge for functions overriding return type with Unit
2017-05-16 16:30:29 +03:00
Konstantin Anisimov
3e35db5a51
Generate artificial return for inlined constructor
2017-05-16 19:24:52 +07:00
Igor Chevdar
e15878bfe9
Fresh box tests
2017-05-15 15:24:58 +03:00
Alexander Gorshenev
b5fcf0087b
Print deserializer failure stack trace only if verbose mode is on.
2017-05-11 18:24:18 +03:00
Igor Chevdar
8f53018653
Disabled warning that coroutines are experimental
2017-05-11 12:51:05 +03:00
Igor Chevdar
29c30545e5
Coroutines lowering: fixed bug appeared after merging with IR symbols
2017-05-11 11:37:32 +03:00
Alexander Gorshenev
5d1e6acb7c
Mangle "*" as #STAR, rather than an explicit variance plus a bound.
2017-05-10 19:30:22 +03:00
Igor Chevdar
39d1b8956d
Test on abstract bridge
2017-05-10 15:44:22 +03:00
Igor Chevdar
97fe5c6b46
Abstract methods can also have bridges
2017-05-10 15:44:22 +03:00
Konstantin Anisimov
715db233f9
Code formatting
2017-05-10 18:31:02 +07:00
Konstantin Anisimov
eba8a50c43
Code formatting
2017-05-10 18:31:02 +07:00
Konstantin Anisimov
ba1f3d502e
Use annotation to distinct inline constructor
2017-05-10 18:31:02 +07:00
Konstantin Anisimov
31a24d4607
Replace DelegatingConstructorCall with IrCall
...
Replace "this" with result of IrCall
2017-05-10 18:31:02 +07:00
Vasily Levchenko
432a2c1dda
CODEGEN: typo missed int type
2017-05-10 10:52:28 +03:00