Commit Graph

3423 Commits

Author SHA1 Message Date
Artem Kobzar ac542d4c01 feat(JS/IR isInterfaceImpl perf): improve isInterfaceImpl performance by memoize an result. 2022-02-28 20:28:10 +00:00
Mikhail Glukhikh 53d6ac24e5 Switch kotlin version to 1.7
* Change 1.6 to 1.7 constants
* Fix SAFE_CALL_WILL_CHANGE_NULLABILITY for testData
* Change EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_WARNING to EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR
* Change NON_EXHAUSTIVE_WHEN_STATEMENT to NO_ELSE_IN_WHEN
* Fix testData for SafeCallsAreAlwaysNullable
* Change T -> T & Any in test dumps
* Change INVALID_CHARACTERS_NATIVE_WARNING -> INVALID_CHARACTERS_NATIVE_ERROR
* TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_WARNING -> TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
2022-02-25 11:46:27 +00:00
Ilya Matveev f7468cf9bc [K/N][stdlib] Support \V, \v, \H, \h, \R in regex engine
Issue #KT-50742 Fixed
2022-02-21 13:20:23 +07:00
Dmitriy Novozhilov baf300a815 [StdLib] Suppress INVISIBLE_REFERENCE alongside with INVISIBLE_MEMBER
This is needed to successful compilation of stdlib with FIR compiler
2022-02-18 17:44:43 +03:00
Dmitriy Novozhilov aef752a8cb [StdLib] Add -Xbuiltins-from-sources to arguments of stdlib for JVM
This flag is needed to successful compilation of stdlib with FIR compiler
2022-02-18 17:44:42 +03:00
Artem Kobzar 804eb61bf0 feat: add polyfills insertion for ES Next used features 2022-02-16 10:49:11 +00:00
Svyatoslav Kuzmich 4636f71076 [Wasm] Loader improvements
- Output ES modules instead of plain files
- Support -Xwasm-launcher=d8 for d8 shell used in tests and benchmarks.
- Reuse launcher generation logic in CLI and box tests runners.
- Create separate output directory for each box since
  there are multiple output files generated for each test.
- Stop using absolute paths in generate JS files
  to simplify running generated code on different machine
- Remove ">>>" from println output


Merge-request: KT-MR-5729
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com>
2022-02-10 22:59:44 +00:00
Igor Yakovlev eb8c3aa54e [WASM] Remove WasmImport annotation 2022-02-03 21:25:59 +01:00
Igor Yakovlev d30a4fa4d5 [WASM/Native] Split AllCodePointsTest into two separate tests 2022-02-03 21:25:59 +01:00
Igor Yakovlev 8eec1743fb [WASM] Remove TODO with UOE for std readln actuals 2022-02-03 21:25:59 +01:00
Igor Yakovlev 0fe7ad8157 [WASM] Enable std tests 2022-02-03 21:25:58 +01:00
Igor Yakovlev 32fbf69738 [WASM] Std code clean up 2022-02-03 21:25:58 +01:00
Igor Yakovlev 195513d4f2 [WASM] Workaround about call toTypedArray on AbstractCollection 2022-02-03 21:25:58 +01:00
Igor Yakovlev c3a6d0b499 [WASM] Fix invalid constructors call flow for exceptions 2022-02-03 21:25:58 +01:00
Igor Yakovlev e30b449454 [WASM] Replace non-performance way of building String from CharArray 2022-02-03 21:25:58 +01:00
Igor Yakovlev a44b103da9 [WASM] Fix invalid equals/hashCode for Double.NaN and Float.NaN 2022-02-03 21:25:58 +01:00
Igor Yakovlev ea76501f9e [WASM] Implement ConstrainedOnceSequence 2022-02-03 21:25:58 +01:00
Igor Yakovlev d0370bd145 [WASM] Fix invalid Array.fill methods implementations 2022-02-03 21:25:58 +01:00
Igor Yakovlev 5ed104063d [WASM] Implement missing test asserter 2022-02-03 21:25:58 +01:00
Igor Yakovlev ece0f83ab2 [WASM] Implement std kotlin.time 2022-02-03 21:25:57 +01:00
Igor Yakovlev 1052ebb44d [WASM] Fix invalid rounding for Double to Int/Long conversion 2022-02-03 21:25:57 +01:00
Igor Yakovlev b4435fe091 [WASM] Escape wasm trap on division of s32/s64 min values on -1 2022-02-03 21:25:57 +01:00
Igor Yakovlev 0acb1c0c05 [WASM] Implemented Wasm unhandled exceptions on JS site 2022-02-03 21:25:57 +01:00
Igor Yakovlev e32f9eb2ce [WASM] throwableExtensions implementation 2022-02-03 21:25:57 +01:00
Alexander Korepanov 769fbcf3d0 [JS IR] Improve performance for runtime typecheck
This is a part of KT-42743
2022-01-31 09:15:58 +00:00
Alexander Korepanov d584cfc31d Remove workaround for KT-45620 from NumbersTest.kt. 2022-01-28 17:10:01 +00:00
Sergej Jaskiewicz d5e46e0607 [JS IR] Introduce intrinsics for slicing array-like objects 2022-01-27 11:06:16 +00:00
Sergej Jaskiewicz 08e6116ecb [JS IR] Introduce jsArguments() intrinsic function
`jsArguments()` is lowered into a reference of the `arguments` object.

This is useful for extracting varargs, when calling Kotlin code from
JavaScript. For a concrete example, see KT-15223.
2022-01-27 11:06:16 +00:00
Dmitriy Dolovov 3ec4a8d6f3 [IR] Rename LinkageError symbol to IrLinkageError
This is needed to 1) avoid ambiguity about the type of linkage used in Kotlin/Native compiler, 2) have the same exception name in JS and Native backends.

^KT-50775
2022-01-26 13:36:24 +03:00
Nikolay Krasko da556452c9 Use project directory as a base for stdlib js build
Some sources for kotlin-stdlib-js-ir are not copied to build dir
and used directly from the project.

Modify kotlin.test/js-ir as well, while there's no evidence of the
problem so far.

Should be removed after KT-50876 fix.

^KTI-730 In Progress
2022-01-25 00:58:54 +03:00
Nikolay Krasko 87bf6e010e Use relative paths in stdlib klib artifacts
Intentionally use doFirst section to trick gradle and not affect
inputs with absolute path usage.

Old behaviour can be returned by kotlin.build.use.absolute.paths.in.klib
in local.properties

Should be removed after KT-50876 fix.

^KTI-730 In Progress
2022-01-20 21:50:20 +03:00
Igor Yakovlev c76e7bc9d8 [WASM] Any.toString implementation 2022-01-19 17:01:11 +03:00
Sergej Jaskiewicz ceb744b53b Revert "[JS IR] [runtime] Remove valueOf method from Long"
This reverts commit e13b6b2a90.

The significance of the breakage caused by the removal of `valueOf`
was underestimated.

#KT-50202 Open
2022-01-18 10:33:54 +00:00
Ilya Gorbunov 906a351a81 Regenerate standard library generated code 2022-01-17 15:38:27 +03:00
Dario Seidl 8d8bf6473b Fix typo in description of Float.ulp
Replace `Float.NIN_VALUE` with `Float.MIN_VALUE`.
2022-01-13 17:21:47 +03:00
Igor Yakovlev 82455c849d [WASM] Lazy properties initialization 2022-01-05 13:12:32 +01:00
Igor Yakovlev e58d4163ad [WASM] Add std methods for collections 2022-01-05 13:12:32 +01:00
Igor Yakovlev c9a92d71ae [WASM] Add kotlin.math tests 2022-01-05 13:12:32 +01:00
Igor Yakovlev adee0f1cb0 [WASM] Add kotlin.math implementation 2022-01-05 13:12:32 +01:00
Igor Laevsky a5ebd3c716 Re-generate built-ins 2022-01-01 21:46:55 +02:00
Igor Laevsky cfcbe9e1e2 [Wasm] Better preserve IR types after inlining 2022-01-01 20:04:44 +02:00
Ilya Gorbunov 2954769296 KT-50059 Stop publishing artifacts with 'modular' classifier 2021-12-29 17:43:56 +00:00
Iaroslav Postovalov 534cf0c6c8 stdlib: Simplify JS charArrayOf implementation (#4354)
#KT-16974 Fixed
2021-12-24 17:20:06 +03:00
Sergej Jaskiewicz 6dc69adcc9 [JS IR] Don't mark Char as a value class
Char will still be treated as a value class
(see JsInlineClassesUtils.kt)
2021-12-16 12:46:11 +00:00
Ilya Gorbunov a829a6743d KT-50173 Fix Regex.escapeReplacement function in JS 2021-12-12 00:27:31 +00:00
Mikhael Bogdanov 239e79a241 JvmDefaultWithCompatibility. Update documentation 2021-12-09 07:40:07 +01:00
Igor Yakovlev 72e360be83 [WASM] More optimal way to keep regex decomposition table 2021-12-09 00:57:55 +01:00
Mikhael Bogdanov 8c17d5f5a7 JvmDefaultWithCompatibility. Switch retention to source 2021-12-08 12:25:02 +01:00
Dmitry Petrov 93713a9ad4 JVM_IR KT-47939 use FunInterfaceConstructorReference as base class 2021-12-08 14:12:41 +03:00
Dmitry Petrov 9eeb8f54fb JVM_IR KT-47939 fixes after review 2021-12-08 14:12:39 +03:00