Roman Artemev
893582fa65
[JS IR] Setup config about path relativeness and normalization in config
2021-12-15 21:13:51 +03:00
Ilya Goncharov
db9640c3b3
[Gradle, JS] Add gradle property for per-module/whole-program
...
Merge-request: KT-MR-5200
2021-12-15 09:08:45 +00:00
Roman Artemev
b719865c25
[JS IR IC] Implement fast path invalidation check
...
Compute library md5 hash and check it first with cached one. If hashes
are equal it means that cache is up-to-date and no additional checks are
needed
- store library hashes (flat + trans) into cache info file
- change invalidator return value
2021-12-13 20:57:52 +03:00
Anton Bannykh
8c558fb6ba
[JS IR] fix compilation
2021-12-05 15:38:04 +03:00
Anton Bannykh
53fe540884
[JS IR] use correct factory for new IR2JS
2021-12-05 15:38:04 +03:00
Anton Bannykh
038514ed65
[JS IR] fix IC (KT-49878 fixed)
2021-12-05 15:38:04 +03:00
Artem Kobzar
08b0e17d47
feat(polyfills): use stdlib for js polyfills.
2021-11-26 08:14:34 +00:00
Ilya Goncharov
98bedf7eed
[IR] More user-friendly compilation exceptions from lowerings and JS codegen
...
Merge-request: KT-MR-5004
2021-11-25 13:21:34 +00:00
Roman Artemev
a01d9b77c3
[JS IR] Delegate invalidated files processing to the caller
...
This change is needed to test invalidation somehow
2021-11-25 11:22:45 +03:00
Roman Artemev
7d8f71d107
[JS IR] Add CLI flag and configuration key about partial linkage
...
- make possible to turn on/off linkage if klib contains unbound symbols
- update jsExtraHelp test data
2021-11-19 01:16:32 +03:00
Anton Bannykh
75368a2c06
[JS IR] tie together IC code in tests and K2JsIrCompiler
2021-11-19 00:39:37 +03:00
Anton Bannykh
1ae042edc3
[JS IR] make old Ir2Js pass all tests
2021-11-19 00:38:46 +03:00
Anton Bannykh
d565cc4262
[JS IR] support new Ir2Js in tests and in K2JsTranslator
2021-11-19 00:38:42 +03:00
Artem Kobzar
7aa8de55a5
fix(use strict): move global this polyfill after "use strict" pragma.
2021-11-12 15:59:27 +00:00
Igor Laevsky
43eeaa925f
[Wasm] Add ability to choose flavor for the wasm launcher
2021-11-03 16:23:01 +03:00
Anton Bannykh
546ce501cb
[JS IR] run IC box tests
2021-10-15 20:14:51 +03:00
Svyatoslav Kuzmich
0f66f85cf9
[Wasm] Support main function
2021-10-15 13:58:55 +03:00
Igor Laevsky
bede039c08
[Wasm] Add compiler support for the kotlin.test library
2021-10-14 17:24:05 +03:00
Svyatoslav Kuzmich
3f8dce4b53
[JS IR] Support per-file mode and ES modules
2021-10-12 23:29:39 +03:00
Svyatoslav Kuzmich
841f5a583e
[Wasm] Support wasm target in multiplatform plugin
2021-09-28 18:26:07 +03:00
Vyacheslav Gerasimov
ab146bd6d4
Build: Fix deprecated Gradle configurations usages
...
for migration to Gradle 7+ #KTI-559
2021-09-26 18:28:44 +03:00
Ilya Goncharov
064744fae7
[JS IR] Remove redundant legacy property access property
2021-09-24 07:07:12 +00:00
Igor Yakovlev
b8d11f7938
[WASM] Add text section to implement debug info
2021-09-20 19:08:21 +03:00
Svyatoslav Kuzmich
7e399202a2
[Wasm] Support generating browser-compatible JS harness
...
* Use fetch and instantiateStreaming
* Call main export if it is present
* Produce a variable with module name that contains a
promise of module exports
2021-09-16 14:14:58 +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
Stanislav Erokhin
9becb2c468
Add compiler performance metrics
...
WIP
2021-08-24 16:33:12 +03:00
Roman Artemev
22cd20781e
[JS IC] Support per-file invalidation in CLI
...
- now disabled
2021-08-24 01:09:18 +03:00
Ilya Chernikov
caa44e413d
Abstract FIR cli pipeline from core environment and related entities
2021-08-23 16:50:40 +03:00
Ting-Yuan Huang
39c6be86cb
K2JsIrCompiler: pass right configuration when creating lib module
2021-08-12 18:01:59 +03: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
Igor Laevsky
4ffed54f76
WASM: Fix JS runner for standalone compiles
2021-08-06 17:34:20 +03:00
Denis.Zharkov
d6adac8dd0
Move FastJarFileSystem to ProjectEnvironment and link to the root disposable
2021-07-23 21:38:45 +03:00
Anton Bannykh
a7549be95e
JS IR IC: report cache validataion duration when up-to-date
2021-07-23 17:10:07 +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
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
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
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
Ilya Goncharov
18cb8a1b9b
[JS IR] Add flag with writing base class to metadata
2021-05-20 16:37:45 +03:00
Ilya Goncharov
228c6879f5
[JS IR] Add per-module output module name
2021-05-20 16:37:44 +03:00
Ilya Goncharov
4d7f7fc50f
[Gradle, JS] Use jsOutputName as module name
2021-05-20 16:37:43 +03:00
Ilya Goncharov
eaf25b517d
[JS IR] Use module name instead of output file wo extension
2021-05-20 16:37:41 +03:00
Ilya Goncharov
0e00186ca1
[JS IR] Fix compilation after rebase
2021-05-20 16:37:39 +03:00
Anton Bannykh
6e40c814c8
[JS IR] add a flag which prepends a custom prefix to the per-module .js files
2021-05-20 16:37:37 +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
Anton Bannykh
6633a9edc0
[JS IR] add a flag which enable safe property access
...
If an accessor is not available at runtime we fall back
to the property access.
This is useful in cases when JS objects are casted to Kotlin
classes implicitly. This pattern did work in the old BE, which
lead to a significant amount of code which doesn't work anymore.
2021-05-20 16:37:34 +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