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
Nikolay Igotti
c6d13abddc
Small cleanup in demos ( #572 )
2017-05-17 01:00:03 +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
Ilya Matveev
12847428fa
samples: Install Tensorflow in HOME directory
2017-05-15 18:31:30 +07:00
Ilya Matveev
d28f8ce7f2
samples: Add scripts for samples building
...
This pach adds a root gradle project in the samples directory
which allows one to build all gradle samples using `./gradlew build`
command. It also adds a shell script in the samples directory which
can build all samples (excluding tensorflow one) using their build.sh
scripts.
2017-05-15 18:31:30 +07:00
Ilya Matveev
8ee788e6b5
gradle-plugin: Add dist target
2017-05-15 18:31:30 +07:00
Ilya Matveev
50ba283aaa
gradle-plugin: Use a separate directory for compiled stubs
...
Two tasks (stub-generator and stub-compiler) used the same output
directory. It caused some problems with up-to-date checks: the
stub-generator task might rerun even if it's inputs isn't changed.
The patch uses separate directories for this tasks to fix this issue.
2017-05-15 18:31:30 +07:00
Ilya Matveev
43582acbf1
gradle-plugin: Don't set LIBRARY_PATH variables for stub-generator
2017-05-15 18:31:30 +07:00
SvyatoslavScherbina
5bd10dc112
Fix generating interop stubs for vararg functions with pointer retval ( #569 )
2017-05-11 18:54:31 +03:00
Alexander Gorshenev
b5fcf0087b
Print deserializer failure stack trace only if verbose mode is on.
2017-05-11 18:24:18 +03:00
Svyatoslav Scherbina
8c6718ab91
Always use at least register-sized buffer for return value in ffi_call
...
As required by the libffi docs.
2017-05-11 13:27:43 +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
Igor Chevdar
81a0aa1861
Coroutines: added SequenceBuilder
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
33189b079f
Reused C macroses by defining bridges to them in def file
2017-05-10 18:33:04 +03:00
Igor Chevdar
ec34adc66c
Non-blocking echo server
2017-05-10 18:33:04 +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
42b1414014
Code formatting
2017-05-10 18:31:02 +07: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
1baf906579
.gitignore: add .iml files
2017-05-10 12:46:13 +03:00
Vasily Levchenko
432a2c1dda
CODEGEN: typo missed int type
2017-05-10 10:52:28 +03:00
Ilya Matveev
6f9af1c6a1
gradle-plugin: Revert target renaming
2017-05-10 14:31:02 +07:00
Ilya Matveev
739eb6233a
Revert "gradle-plugin: Rename targets"
...
This reverts commit 7a1a5001a3 .
2017-05-10 14:31:02 +07:00
Ilya Matveev
0a7e38c25a
Revert "samples: Rename targets for tetris build."
...
This reverts commit dbcfa84498 .
2017-05-10 14:31:02 +07:00
Ilya Matveev
da6be1f1f7
Revert "samples: Use camel case in tetris gradle build script"
...
This reverts commit 409d00db96 .
2017-05-10 14:31:02 +07:00