Svyatoslav Kuzmich
3f8dce4b53
[JS IR] Support per-file mode and ES modules
2021-10-12 23:29:39 +03:00
Svyatoslav Kuzmich
20cc7196c8
[Wasm][Minor] Remove unused doTestWithCoroutinesPackageReplacement
2021-10-12 08:42:00 +03:00
Svyatoslav Kuzmich
3bd0ea6b07
[Wasm] Support generating browser-compatible directory
2021-10-12 08:42:00 +03:00
Svyatoslav Kuzmich
15acc412ba
[Wasm] Update testdata after coroutines support
2021-10-12 08:42:00 +03:00
Roman Artemev
9138425a3d
[JS IR] Pass friend dependencies to compiler in test runner
2021-10-07 16:00:47 +03:00
Sergej Jaskiewicz
a359e503fb
[JS tests] Introduce the CHECK_FUNCTION_EXISTS directive
2021-10-06 09:23:50 +00:00
Sergej Jaskiewicz
c84f9cde07
[JS] Check the DECLARES_VARIABLE directive for all matching functions
...
Not just the first one.
2021-10-06 09:23:49 +00:00
Sergej Jaskiewicz
103be8f7bc
[JS] Don't fail the test after the first directive check fails
2021-10-06 09:23:49 +00:00
Sergej Jaskiewicz
09467954bc
[JS] Allow per-backend directives in JS tests
...
This way we can use different directives for the legacy and IR backends.
2021-10-06 09:23:49 +00:00
Sergej Jaskiewicz
b93e0181ca
[JS IR] Enable directives for IR box tests
2021-10-06 09:23:48 +00:00
Roman Artemev
8f8c59e748
[JS IR] Fix passing abiVersion to compiler in tet runner
2021-10-06 03:47:18 +03:00
Ilya Goncharov
8f22e30515
[JS IR] Enable property lazy initialization in tests
2021-10-01 13:32:12 +00:00
Roman Artemev
aaa0b41416
[JS IR TEST] Pass recompiled files into backend
...
NOTE: Temporary disabled until IC codegen is merged
2021-09-30 14:30:14 +03:00
Victor Petukhov
a264cbfe7d
Move CallUtil.kt under the resolve.util package
2021-09-27 16:12:01 +03:00
Igor Yakovlev
b8d11f7938
[WASM] Add text section to implement debug info
2021-09-20 19:08:21 +03:00
Roman Artemev
0bfc88fad0
[JS IC] Implement test infra for incremental caches
2021-09-20 12:23:36 +03:00
Svyatoslav Kuzmich
0abc798da9
[Wasm] Add JS interop tests
2021-09-16 14:20:35 +03:00
Roman Artemev
a2e4ebd820
[JS IC] Support //RECOMPILE directive in js box tests
...
- change test runner to production mode when sources are being compiled
into klib and then klib is being translated into js, not directly from
kt to js
- fix IC cache format
- support IC tests
2021-09-13 13:44:55 +03:00
Mikhail Glukhikh
007cf2ce7c
Rename AnalysisFlags.useExperimental to optIn
2021-09-10 16:29:18 +03:00
Igor Laevsky
00f61978b8
WASM: Enable exception handling tests
2021-09-08 19:56:38 +03:00
Igor Laevsky
6ca965af6f
WASM: Generate throw instruction instead of wasmThrow call
2021-09-08 19:56:33 +03:00
Alexander Udalov
0fb398d45e
Build: enable Werror for almost all compileKotlin tasks
...
The only exception at this point is :kotlin-gradle-plugin:compileKotlin.
2021-08-13 17:46:57 +02:00
Ting-Yuan Huang
06d3c6f233
Support repeated analysis and frontend-only-mode in K2JsIrCompiler
2021-08-12 18:01:58 +03:00
Ting-Yuan Huang
e75ca75e3e
K2JsIrCompiler: hoist common front-end preparation logic
...
Instead of creating ModuleStructure and run analysis in each backend,
the common preparation logic is moved into K2JsIrCompiler.doExecute().
2021-08-12 18:01:56 +03:00
Roman Artemev
b3dbca7ea6
[JS IC] Fix test runner
2021-08-10 19:52:07 +03:00
Alexander Udalov
376b420d1a
Fix warnings in JS/WASM modules
2021-08-06 22:36:22 +02:00
Igor Laevsky
331681b40b
WASM: Add different debug levels to the test runner
2021-08-06 17:34:22 +03:00
Igor Laevsky
2538caa84f
WASM: NFC. Rename string import/export functions
2021-08-04 16:23:31 +03:00
Igor Laevsky
ebde1e5491
WASM: Crude println implementation with the wasm-native strings
2021-08-04 16:23:30 +03:00
Igor Laevsky
0f84525bdc
WASM: Implement wasm-native strings part 1
...
There are several changes here but they all required for at least one test to pass.
- Implemented String class and several utility functions using built-in CharArray
- Added new constant memory segment to hold string literals and required funcs to work with them
- Added very crude mostly incorrect rudimentary ability to pass strings back to javascript
2021-08-04 16:23:28 +03:00
Dmitriy Novozhilov
4f73ebbcbd
[Test] Migrate tests for java 9 to regular test infrastructure
2021-08-01 22:23:39 +03:00
Roman Artemev
f768d5b453
[JS TEST] Refactor test runner a bit
...
Build IC cache for library right after its compilation
2021-07-22 21:56:57 +03:00
Roman Artemev
0310f7cb0b
[JS IC] Lot of fixes after rebase
2021-07-22 21:56:57 +03:00
Anton Bannykh
20088994c1
JS IC: IC lowerings prototype
2021-07-22 21:56:55 +03:00
Ilya Chernikov
dee0487185
IR: Refactor IrBuiltIns to abstract it from descriptors
2021-07-16 02:24:18 +03:00
Roman Artemev
0a49b24320
[JS IR] Move klib resolution from cli into compiler
...
Simplify CLI -> Compiler API
Clean up code
2021-07-13 14:43:40 +03:00
Roman Artemev
103e4ef2a5
[JS IR] Disable ts export check in PIR mode in box tests
...
Since that feature is not declared as working yet
2021-07-13 14:43:38 +03:00
Dmitriy Novozhilov
11faf04a4c
[Test] Remove dependencies on IDEA classes from test modules
...
Some of IDEA services (like in `com.intellij/execution`) was copied,
because they are used in tests but jars with them compiled with
jdk 11 and we run our tests on jdk 8, so their bytecode can not
be read
2021-07-08 13:29:19 +03:00
Zalim Bashorov
2460f5f9ae
[JS CLI] Support sourcemap generation for IR BE in CLI
...
#KT-46551 In Progress
2021-07-05 21:01:41 +03:00
Zalim Bashorov
64c6d852de
[JS IR] Preparing for introducing sourcemap as another compilation output
...
* Rename `JsCode` to `CompilationOutputs`.
* Rename members of CompilerResult.
#KT-46551 In Progress
2021-07-05 21:01:38 +03:00
Roman Artemev
a8d0e60328
[JS TESTS] Extend test frame with some features
...
- Setting up specific ABI version for module
- Disabling mangle verification
2021-07-01 17:40:40 +03:00
Roman Artemev
b5c28c1912
[KLIB] Introduce compatible mode for klibs.
...
Based on library ABI version linker could decide which signature mode
to be used to guarantee backward compatibility.
2021-07-01 17:40:36 +03:00
Ilya Goncharov
b03af384af
[JS IR] Add test with exception diagnostic of boolean in externals
2021-06-29 10:12:56 +00:00
Ilya Goncharov
21a3494bca
[JS IR] Add test with boolean in external interface
...
[JS IR] Add possibility to safely access Boolean in external declaration
[JS IR] Add diagnostic for booleans in externals
2021-06-29 10:12:54 +00:00
Zalim Bashorov
a908e5576d
[JS] Extract sourcemap generating related files to a separate module
...
It's required to reuse the same infrastructure in the new backend.
2021-06-28 16:04:09 +03:00
Anton Bannykh
eb0c13793b
JS IR: introduce 'lower per module' mode
...
This mode is closer to how IC supposed to work - reusing work
from dependencies, not re-lowering them.
2021-06-25 00:59:23 +03:00
Ilya Goncharov
d65cbdf44d
[JS IR] Fixes in tests
...
- Compilation of tests
- add arguments to extra help
2021-05-20 16:37:50 +03:00
Anton Bannykh
7bd9462ffb
[JS IR] save the desired JS output file name in the klib.
...
This is only usedful for code splitting. The output .js file name
is provided by the build system during the module compilation.
It is desirable to keep the .js output file names same as in old BE,
but calculating those name during the klib -> js phase is tricky.
Thus the desired names are saved in the klib, and used later on.
2021-05-20 16:37:35 +03:00
Alexander Udalov
988d1365a8
Remove dependency of backend.wasm on ir.tree.impl and ir.tree.persistent
2021-04-14 13:47:02 +02:00
Alexander Udalov
643c3f26c1
Remove dependency of backend.js on ir.tree.impl
...
By taking the instance of IrFactory either from SymbolTable, or passing
it from cli-js which depends on both ir.tree.impl and
ir.tree.persistent, and can choose the appropriate implementation.
2021-04-14 13:47:02 +02:00