Anton Bannykh
826b9d935d
JS/JS IR: split testing tasks for the two backends
...
Run jsTest for current backend, and jsIrTest for the JS-IR backend tests
2019-03-15 12:19:33 +03:00
Steven Schäfer
3f4c5c8d53
Resolve type aliases when looking for default arguments to actual methods.
...
Change-Id: I059093c1af32fcd7a2de36c25160c352d6f03a3c
2019-03-14 14:59:34 +01:00
Ting-Yuan Huang
013ad4b8e4
JVM_IR: defer some branch optimizations to codegen.
...
Specifically, defer the removal of hand-written "if (true|false)" from
JvmBuiltinOptimizationLowering into codegen so that appropriate debug
info (and a NOP) can be inserted.
Change-Id: Ia11af05ad8b4251946bd3e685fb7c3319f0f433f
2019-03-13 08:48:20 +01:00
Mikhail Zarechenskiy
1594c1fc6b
[NI] Don't consider Nothing-constraint as proper to complete call
...
Follow-up of 9b3e17f0 . There we decided to complete call if a type
variable from a return type has proper lower constraints, now we refine
this rule wrt `Nothing`-like constraints to avoid inferring type variables
to Nothing, which is quite useless
#KT-30370 Fixed
2019-03-11 19:14:29 +03:00
Abduqodiri Qurbonzoda
be6c2d8c7d
Implement min max minOf maxOf functions for unsigned types (KT-30035)
2019-03-08 23:34:36 +03:00
Abduqodiri Qurbonzoda
7695b5e575
Implement sum extension function for UArrays (KT-28779)
2019-03-08 23:34:34 +03:00
Abduqodiri Qurbonzoda
299fac8e2d
Implement conversion from typed array and collection to UArrays
2019-03-08 23:34:34 +03:00
Alexander Udalov
d1e33534db
Implement typeOf intrinsic on JVM
...
#KT-29915 Fixed
2019-03-05 18:16:31 +01:00
Roman Artemev
88d365328a
[JS IR BE] Run JS IR tests in V8 engine
2019-03-04 23:24:18 +03:00
Roman Artemev
80a2be50c3
Regenerate tests
2019-03-04 23:24:18 +03:00
Roman Artemev
d085e66aa3
[JS IR BE] Optimize test performance
...
* temporary disable verification
* restore default/full runtime source set scheme
2019-03-04 23:24:16 +03:00
Roman Artemev
079f2534c7
[JS IR BE] Support compilation and tests against klib
2019-03-04 23:24:15 +03:00
Roman Artemev
6863f9e4f3
[JS IR BE] Make backend be able work with unbound symbols
...
* Fix array type deserialization
* Prepare to compilation against klibs
2019-03-04 23:24:14 +03:00
Roman Artemev
44010cc6ef
[JS IR BE] Refactored compiler interface
2019-03-04 23:24:13 +03:00
Roman Artemev
67f0d49ea1
[JS IR BE] Fix rebase
2019-03-04 23:24:13 +03:00
Roman Artemev
3a444cd0f3
[JS IR BE] Move IrSerializer from native to JS
...
* Fix issues
2019-03-04 23:24:10 +03:00
Roman Artemev
5384f23f30
[JS IR BE] Extract metadata deserializer to keep binary compatibility
...
* add UniqId extension to metadata protobuf
2019-03-04 23:24:10 +03:00
Roman Artemev
3718edb6bc
[JS IR BE] Some preparation for IrSerialization
2019-03-04 23:24:09 +03:00
Shagen Ogandzhanian
7162dd9807
Prepare JsTestChecker (but not introduce so far) for J2V8 adoption
2019-03-01 15:29:35 +01:00
Alexander Udalov
b8bc79e17c
Support non-trivial default argument values in expected functions on JVM
...
#KT-22818 Fixed
2019-02-26 11:02:30 +01:00
Svyatoslav Kuzmich
beb5f73a2b
Remove duplicate tests from JS compiler test set. Merge chages to common compiler tests
2019-02-25 15:09:27 +03:00
Svyatoslav Kuzmich
3be4248791
[JS IR BE] Disable deprecated jsName tests
2019-02-25 15:09:25 +03:00
Georgy Bronnikov
68f9f4b3b5
Add a test
2019-02-23 00:42:16 +03:00
Ilmir Usmanov
6e120b2173
Do not generate state-machines for suspend lambdas, which capture any
...
crossinline lambda, not only suspend.
#KT-29912 Fixed
2019-02-21 17:44:41 +03:00
Anton Bannykh
4e298ae5cb
JS: Inlined local declarations should be positioned after imports
2019-02-14 15:14:28 +03:00
Anton Bannykh
4b39e2df12
JS: (review fix) Header -> InlineData
2019-02-14 15:14:28 +03:00
Anton Bannykh
6e74c4ce71
JS: switch off the validator until class translation is fixed
2019-02-14 15:14:28 +03:00
Anton Bannykh
990ee849e2
JS: test local declaration deduplication with name clash; fix the test
2019-02-14 15:14:28 +03:00
Anton Bannykh
60aa6e4971
JS: a cross-module local declaration fake override test;
...
Also describe an alternative, more robust approach in a TODO comment
2019-02-14 15:14:28 +03:00
Anton Bannykh
396ec20788
JS: add constructor binding and inlining test
2019-02-14 15:14:28 +03:00
Anton Bannykh
36fd4d24fb
JS: move label renaming to new fragment post-processing
...
Also remove metadata renaming from the global passes
2019-02-14 15:14:28 +03:00
Anton Bannykh
2022a9c887
JS: fix inheriting fake overrides in inlined object literals
2019-02-14 15:14:28 +03:00
Anton Bannykh
9716abcc12
JS: inline private properties
2019-02-14 15:14:28 +03:00
Anton Bannykh
299a45ccbf
JS: validate AST when serializing to IC cache
2019-02-14 15:14:28 +03:00
Anton Bannykh
6d26bf9622
JS: don't load binary AST unless required by the inliner
2019-02-14 15:14:28 +03:00
Anton Bannykh
1052ec898c
JS: review fixes (mostly tests)
2019-02-14 15:14:28 +03:00
Svyatoslav Kuzmich
74ee64fcf1
[JS IR] Workaround: don't try to use generated js files for secondary modules
2019-02-12 18:45:35 +03:00
Svyatoslav Kuzmich
0ff23544fc
[JS IR BE] Initial support for mudule wrapper generation
2019-02-12 18:45:35 +03:00
Mikhael Bogdanov
6aaa601239
Add tests for obsolete issues
...
#KT-21085 Obsolete
#KT-13846 Obsolete
2019-02-07 11:39:48 +01:00
Mikhael Bogdanov
b2606735c5
Properly capture local delegated properties in object constructor
...
#KT-23117 Fixed
2019-02-05 16:14:51 +01:00
Mikhael Bogdanov
9ab6062295
Properly capture extension receiver for array convention expressions in object constructor
...
#KT-19389 Fixed
2019-02-05 16:14:50 +01:00
Mikhael Bogdanov
520679a2b4
Regenerate JS tests
2019-02-05 11:55:42 +01:00
Igor Chevdar
c257af31f4
Added test
2019-01-31 18:19:41 +03:00
Alexander Udalov
db487a622a
Add -Xsanitize-parentheses to workaround ASM 6.1 issue in frame computation
...
#KT-29475 Fixed
2019-01-31 15:47:43 +01:00
Svyatoslav Kuzmich
c9e2ed4e1f
Undo unnecessary changes to stdlib
...
Partially revert "[stdlib] Reduce usage of extension functions"
2019-01-29 19:06:32 +03:00
Svyatoslav Kuzmich
b49ec3edb8
Disable generation of 1.2 coroutine tests for JS_IR
...
Add directive DONT_TARGET_EXACT_BACKEND.
This directive is needed to exclude JS_IR backned but keep "compatible"
JS backend.
2019-01-29 19:06:31 +03:00
Anton Bannykh
5c7072ec44
JS: add incremental suspend inline test
2019-01-29 13:16:39 +03:00
Svyatoslav Kuzmich
8c89ffbe2d
[JS IR BE] Load builtins from code to runtime
...
Bypass builtins deserialization mechanism in legacy JS backend and load
bultins direcly as kotlin code.
This way we won't have separated IR declarations for Enum, Char, Long
Some "native" builtins are implemented in libraries/stdlib/js/irRuntime/builtins/
Other builtins are moved by MoveExternalDeclarationsToSeparatePlace and
used only in compile-time
2019-01-24 23:05:56 +03:00
Svyatoslav Kuzmich
29eb3c745c
[JS IR BE] Support two versions of test runtime: full and reduced
2019-01-24 16:14:40 +03:00
Mads Ager
690b8e0ac9
JVM_IR: Optimize null checks.
...
Introduce lowering to remove null checks for primitive type
expressions and replace them with true/false. Side-effects
are preserved.
Generate ifnull/ifnonnull instructions for null checks instead
of materializing a null literal for an equality check.
2019-01-19 09:43:43 +01:00