[JS IR] IC improvements

- Reuse a built fragment
  - Use cache for saving built JS code
This commit is contained in:
Alexander Korepanov
2022-03-30 18:19:28 +03:00
committed by Space
parent f8ae097e50
commit 9952d43252
137 changed files with 1280 additions and 899 deletions
@@ -5,8 +5,6 @@ STEP 1:
dependencies: stdlib
modifications:
D : l12.kt
dirty:
STEP 2:
dependencies: stdlib
modifications:
@@ -1,15 +1,13 @@
STEP 0:
dependencies: stdlib, lib1
dirty: l21.kt
STEP 1:
dependencies: stdlib, lib1
modifications:
U : l22.kt.1 -> l22.kt
dirty: l21.kt, l22.kt
STEP 2:
dependencies: stdlib, lib1
modifications:
D : l22.kt
dirty: l21.kt
dirty: l21.kt
@@ -1,11 +1,3 @@
STEP 0:
STEP 0..2:
dependencies: stdlib, lib1, lib2
dirty: l3.kt
STEP 1:
dependencies: stdlib, lib1, lib2
dirty: l3.kt
STEP 2:
dependencies: stdlib, lib1, lib2
dirty: l3.kt
@@ -1,2 +1,10 @@
fun box() = dex(4, 2)
fun box(stepId: Int): String {
when (stepId) {
0 -> if (dex(4, 2) != 11) return "Fail"
1 -> if (dex(4, 2) != 10) return "Fail"
2 -> if (dex(4, 2) != 9) return "Fail"
else -> return "Unknown"
}
return "OK"
}
@@ -1,11 +1,3 @@
STEP 0:
STEP 0..2:
dependencies: stdlib, lib1, lib2, lib3
dirty: m.kt
STEP 1:
dependencies: stdlib, lib1, lib2, lib3
dirty: m.kt
STEP 2:
dependencies: stdlib, lib1, lib2, lib3
dirty: m.kt
@@ -2,9 +2,7 @@ MODULES: lib1, lib2, lib3, main
STEP 0:
libs: lib1, lib2, lib3, main
STEP 1:
dirty js: stdlib, lib1, lib2, lib3, main
STEP 1..2:
libs: lib1, lib2, lib3, main
STEP 2:
libs: lib1, lib2, lib3, main
dirty js: lib1, lib2, lib3, main