Commit Graph

187 Commits

Author SHA1 Message Date
Ilya Gorbunov fede70d0d5 Make TimeMark returned by TimeSource.Monotonic a value class
This value class wraps Long on JVM and Native thus reducing allocations
in time measurement scenarios when the default monotonic time source is
statically known.

KT-46132
2022-04-14 16:54:30 +00:00
Jerome Prinet c067026133 Set task dependencies 2022-04-14 14:21:31 +03:00
Igor Laevsky 81eae94821 [Wasm] Disable range checks for arrays. Add cli argument to enable them back. 2022-04-05 18:00:32 +00:00
Igor Laevsky 2c9bfe901d [Wasm] Pull array range checks into single function 2022-04-05 18:00:31 +00:00
Abduqodiri Qurbonzoda 1cb5cab28f [K/N and WASM] Fix ESCAPE and COMMENTS modes 2022-04-05 15:21:31 +00:00
Abduqodiri Qurbonzoda 187faa121e Test backreference to group with index zero 2022-04-05 15:21:29 +00:00
Abduqodiri Qurbonzoda 74121b26c0 Test octal literal in regex 2022-04-05 15:21:28 +00:00
Abduqodiri Qurbonzoda 46408ffd9d Fix tests by adjusting to platform behavior 2022-04-05 15:21:27 +00:00
Abduqodiri Qurbonzoda 9c4c1ed557 [K/N and WASM] Implement named capturing group in Regexes #KT-41890 2022-04-05 15:21:26 +00:00
Ilya Gorbunov 4c461d7864 Add min/max test generator and generated tests
Temporarily exclude these tests from kotlin-stdlib-wasm testing due to KT-51647
2022-04-04 22:33:25 +00:00
Igor Yakovlev d881f0d2a6 [WASM] Replace String storage type from CharArray to WasmCharArray 2022-03-21 17:24:38 +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 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
Igor Yakovlev c76e7bc9d8 [WASM] Any.toString implementation 2022-01-19 17:01:11 +03:00
Ilya Gorbunov 906a351a81 Regenerate standard library generated code 2022-01-17 15:38:27 +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 cfcbe9e1e2 [Wasm] Better preserve IR types after inlining 2022-01-01 20:04:44 +02:00
Igor Yakovlev 72e360be83 [WASM] More optimal way to keep regex decomposition table 2021-12-09 00:57:55 +01:00
Igor Yakovlev ea060dcf8a [WASM] Implement lazy with UnsafeLazyImpl 2021-12-07 21:33:34 +03:00
Igor Yakovlev d55e16a030 [WASM] Regex std implementation 2021-12-07 21:33:31 +03:00
Igor Yakovlev 86daff8ae8 [WASM] Fix invalid exception type for IOOB array access 2021-12-07 21:33:24 +03:00
Igor Yakovlev 34c6abe0bd [WASM] Add Long.toString(radix) implementation 2021-12-07 21:33:14 +03:00
Igor Yakovlev 73ca478fbd [WASM] Add string to double conversion to Stdlib
This version is not completely correct - there is some IEEE rouding issue that, apparently, require to implement different algorithm with BigIntegers implementation.
2021-12-07 21:33:07 +03:00
Igor Yakovlev 9408499da9 [WASM] Add std text implementations 2021-12-07 21:32:59 +03:00
Ilya Gorbunov 4386a800c8 KT-49721 Avoid matching from the same position after a zero-width match
In JS, RegExp can return a match before the specified start index,
if it has matched at that index, but it is in the middle of a surrogate
pair. Account for that when advancing to the next position after
a zero-width match so that it doesn't get to the middle of SP.
2021-11-29 17:02:06 +00:00
Ilya Goncharov f48436b35e rra/ilgonmic/eager-like-native
[JS IR] Leave JsEagerInitialization until bootstrap update

[JS IR] Fix js stdlib api

[JS IR] Change annotation on eager initialization in sources

[JS IR] Make eager initialization consistent with native

Merge-request: KT-MR-5030
2021-11-22 12:45:37 +00:00
Svyatoslav Kuzmich f833fc4bcb [Wasm] Default parameter values for external functions
+ import top-level external functions wrapped in lambdas
2021-11-17 19:28:14 +00:00
Igor Yakovlev ec9fcce1bc [WASM] Add hashCode, equals and toString to KClass and KType implementations 2021-11-15 19:53:48 +03:00
Igor Yakovlev ee7f4c7278 [WASM] Implementation typeOf support 2021-11-15 19:53:48 +03:00
Igor Yakovlev 39a389c49a [WASM] Implementation qualifiedOrSimpleName 2021-11-15 19:53:47 +03:00
Igor Yakovlev ce360bb10b [WASM] Implementation of Class references 2021-11-15 19:53:46 +03:00
Igor Laevsky c7cfa97748 [Wasm] Implement Any::hashCode() 2021-11-15 18:26:46 +03:00