Commit Graph

1218 Commits

Author SHA1 Message Date
Igor Chevdar 136c62a62c Added test on workers with invalid transfer attempt 2017-08-29 16:39:49 +03:00
Nikolay Igotti f74265126e Fix performance bug, review feedback on indexer changes (#818) 2017-08-29 16:12:44 +03:00
Nikolay Igotti 7d72beb27c Improve memory tracing, fix 32-bit platforms (#815) 2017-08-29 10:21:47 +03:00
Igor Chevdar 1d434899cb Fixed bug with globals deinitialization 2017-08-28 14:51:14 +05:00
Ilya Matveev f218d36aa9 build: Fix javaArgs in stdlib build 2017-08-28 10:55:53 +07:00
Igor Chevdar 3522627ce3 Added FrameOverlay struct 2017-08-24 19:48:55 +05:00
Nikolay Igotti 69bf28cc23 v0.3.1 preparations. (#806) 2017-08-24 15:03:19 +03:00
Ilya Matveev d2c3e320c6 [SQUASHME] Review fixes 2017-08-23 19:42:06 +07:00
Ilya Matveev 7116801dc6 dependencies: Track downloading in a separate thread 2017-08-23 19:42:06 +07:00
Ilya Matveev 24a87415d7 dependencies: Use HTTPS for bintray repo 2017-08-23 19:42:06 +07:00
Ilya Matveev 60ed6f6871 dependencies: Move dependency downloader into shared project 2017-08-23 19:42:06 +07:00
Ilya Matveev fb15992546 build: Distribute 'shared' as a separate jar 2017-08-23 19:42:06 +07:00
Nikolay Igotti 109f84f9af Immutable data prototype. (#799) 2017-08-22 16:21:10 +03:00
Nikolay Igotti 87f2bed5c8 Move Kotlin version to 1.1.4, fix some warnings. (#802) 2017-08-22 14:50:05 +03:00
Svyatoslav Scherbina 99dd7227dc Support Boolean in interop varargs and function pointers invocation 2017-08-18 17:45:41 +03:00
Svyatoslav Scherbina 5586d29764 Add basic support for calling C function pointers
Fix #739
2017-08-18 17:45:41 +03:00
Vasily Levchenko db1a1b029a [codegen][debug info][dwarf] (var) variable inspection in debugger support
- debug location metainformation attached to stack allcated slots.
- python bindings to work such variables.
2017-08-17 14:00:18 +03:00
Ilya Matveev 4931b2f05b build: Refactor dependencies updating 2017-08-17 10:27:40 +07:00
Svyatoslav Scherbina 5c3e8d63d4 Support bit fields in interop
Fix #728
2017-08-16 15:03:58 +03:00
Svyatoslav Scherbina d3185e3e19 Implement very basic Objective-C interop
Also refactor StubGenerator
2017-08-16 10:04:23 +03:00
Svyatoslav Scherbina ab41017e58 Cache deserialized inline function bodies 2017-08-16 10:04:23 +03:00
Ilya Matveev 266047118e dependencies: Set downloading retry parameters in konan.properties 2017-08-16 10:33:07 +07:00
Vasily Levchenko 8296c65aeb Migrate native to moved common lowers
(cherry picked from commit 6665d48017540afd8b8cb2fa0f104cab93e73473)
2017-08-10 06:19:51 +03:00
Mikhael Bogdanov d9c04eaaf5 Move platform specific symbols to KonanSymbols
(cherry picked from commit 40df6da2d78420497c6c2cd3a229ab00fb0d8f36)
2017-08-10 06:19:51 +03:00
Mikhael Bogdanov d33e8c78d1 Move StringConcatenationLowering and VarargLowering to common lowers
(cherry picked from commit 79422eef4ddbde3c17adc19417b9412a59d5da7b)
2017-08-10 06:19:51 +03:00
Mikhael Bogdanov 4a2d4b932b Specify source for default impl
(cherry picked from commit b37fd90128cea61df9c53a5b48bea6092ea9ec57)
2017-08-10 06:19:51 +03:00
Vasily Levchenko a24c5232cd [kotlin compiler][update] 1.1-20170809.024631-765 2017-08-10 06:19:51 +03:00
Alexander Gorshenev c7d5d6851d Classified the rest of the wasm32 expected failures. 2017-08-09 17:34:26 +03:00
Alexander Gorshenev 77cbd39907 Global initializers for wasm32. 2017-08-09 17:34:26 +03:00
Alexander Gorshenev 26d383c8be Support grow() operation for wasm32 memory. 2017-08-09 17:23:40 +03:00
Igor Chevdar e615b08ab7 Set escape analysis to analyze all types including value types.
Since a value type might be boxed and this information is missing in IR
the analysis cannot distinguish value types and boxes, so let it analyze
all for now.
2017-08-08 13:45:46 +03:00
Igor Chevdar 56e08e40e8 Added some corner tests on escape analysis 2017-08-07 16:45:51 +03:00
Igor Chevdar 31d2618b9c Made escape analysis a bit more conservative for now 2017-08-07 16:45:51 +03:00
Robert Hencke 72ca603d71 Reduce boilerplate for applying kotlin-gradle-plugin. 2017-08-07 17:25:52 +07:00
Alexander Gorshenev a0e15a7776 Eliminated some warnings. 2017-08-07 12:36:32 +03:00
Igor Chevdar 9eb2bb7fbc Fixed some bugs in escape analysis 2017-08-04 17:48:50 +03:00
Alexander Gorshenev 21ad2d97e6 Fix broken build.
The fix for d8 readline() broke hello1 and hello2 tests.
2017-08-04 15:50:27 +03:00
Alexander Gorshenev b4660d03a1 Initial .wasm file generation for the wasm32 target.
Some basic launcher.js and runtime.
2017-08-03 17:51:48 +03:00
igotti-google 5e55a75d59 Work around 32-bit build problem (struct merging by LLVM) 2017-08-03 00:39:09 +03:00
Nikolay Igotti beb10306dd Add Kotlin object inspection to simplify debugging (#763) 2017-08-02 18:55:52 +03:00
Igor Chevdar eabe2435bf Rewrote escape analysis 2017-08-02 18:44:04 +03:00
Ilya Matveev effe54d470 stdlib: Add also function 2017-08-02 20:20:09 +07:00
Vasily Levchenko d0ec24a5f2 [kotlin compiler][update] 1.1-20170729.003925-731 2017-07-31 12:56:29 +03:00
Vasily Levchenko f07273d55f [debug][test] build fix 2017-07-28 17:52:58 +03:00
Ilya Matveev 12f815eabb backend: Add a call lowering pass before inlining
Some inlined calls may require additional processing before the
inlining pass. E.g. assert() calls must be removed if assertions are
disabled by compiler flags. This patch adds an additional pass
before inlining and uses it for assertions removal.
2017-07-27 11:49:54 +07:00
Ilya Matveev 0e67fbb7ad tests: Add assert tests 2017-07-27 11:49:54 +07:00
Ilya Matveev a2e9fa324b backend: Use symbols for assertions processing 2017-07-27 11:49:54 +07:00
Ilya Matveev de5bc71ffc backend: Correct assertion in 'for' loop lowering
The frontend uses one of two origins for loop variables:
LOOP_VARIABLE and IMPLICIT_LOOP_VARIABLE. This patch takes
this into account.
2017-07-25 22:26:17 +07:00
Ilya Matveev bef8d6bef1 backend: Set 'origin' property for generated variables in 'for' loops 2017-07-25 22:26:17 +07:00
Ilya Matveev 42c4391654 backend: Process 'until MIN_VALUE' in for loops
This patch takes into account a corner case available for loops
over a progression (see backend.native/tests/external/codegen/box/
ranges/forInUntil/forInUntilMinint.kt test):

for (i in 0 until Int.MIN_VALUE) { ... }

Here we cannot use subtraction to obtain a right bound of the loop
due to an overflow. Instead we consider any loop with MIN_VALUE in
it's right bound as empty loop. Such behaviour is similar to the one
of 'until' method.

So now the empty check for a loops with 'until' call:

for (i in first until bound) { ... }

is as follows:

val last = getProgressionLast(first, bound, step) // Only if step==1
if (first <= last && bound > <Int|Long|Char>.MIN_VALUE) {
    do { ... } while(i != last)
}

Further improvements: We can generate a simpler IR for some simple
frequent cases (e.g. for until calls without steps) and eliminate
loops if we can prove that they are empty.
2017-07-25 22:26:17 +07:00