[JS IR] IC improvements
- Reuse a built fragment - Use cache for saving built JS code
This commit is contained in:
committed by
Space
parent
f8ae097e50
commit
9952d43252
+22
-1
@@ -1,2 +1,23 @@
|
||||
|
||||
fun box() = foo()
|
||||
fun isEqual(l: Any?, r: Any?) = if (l == r) true else null
|
||||
|
||||
fun box(stepId: Int): String {
|
||||
when (stepId) {
|
||||
0, 8, 15, 16 -> isEqual(foo(), 42) ?: return "Fail"
|
||||
1 -> isEqual(foo(), false) ?: return "Fail"
|
||||
2 -> isEqual(foo(), 3.14) ?: return "Fail"
|
||||
3, 5, 6, 12 -> isEqual(foo(), "string") ?: return "Fail"
|
||||
4 -> isEqual(foo(), null) ?: return "Fail"
|
||||
7 -> {
|
||||
foo() // Unit
|
||||
return "OK"
|
||||
}
|
||||
9 -> isEqual(foo(), 42 + 77) ?: return "Fail"
|
||||
10 -> isEqual(foo(), 42 + 98 + 1) ?: return "Fail"
|
||||
11 -> isEqual(foo(), 42 + 91) ?: return "Fail"
|
||||
13 -> isEqual(foo(), 99) ?: return "Fail"
|
||||
14 -> isEqual(foo(), 1L) ?: return "Fail"
|
||||
else -> return "Unknown"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+1
-49
@@ -1,51 +1,3 @@
|
||||
STEP 0:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 1:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 2:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 3:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 4:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 5:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 6:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 7:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 8:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 9:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 10:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 11:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 12:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 13:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 14:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 15:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
STEP 16:
|
||||
STEP 0..16:
|
||||
dependencies: stdlib, lib1
|
||||
dirty: m.kt
|
||||
|
||||
+7
-29
@@ -2,35 +2,13 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
STEP 1:
|
||||
dirty js: stdlib, lib1, main
|
||||
STEP 1..6:
|
||||
libs: lib1, main
|
||||
STEP 2:
|
||||
dirty js: lib1, main
|
||||
STEP 7..8:
|
||||
libs: lib1, main
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
STEP 5:
|
||||
libs: lib1, main
|
||||
STEP 6:
|
||||
libs: lib1, main
|
||||
STEP 7:
|
||||
libs: lib1, main
|
||||
STEP 8:
|
||||
libs: lib1, main
|
||||
STEP 9:
|
||||
libs: lib1, main
|
||||
STEP 10:
|
||||
libs: lib1, main
|
||||
STEP 11:
|
||||
libs: lib1, main
|
||||
STEP 12:
|
||||
libs: lib1, main
|
||||
STEP 13:
|
||||
libs: lib1, main
|
||||
STEP 14:
|
||||
libs: lib1, main
|
||||
STEP 15:
|
||||
libs: lib1, main
|
||||
STEP 16:
|
||||
dirty js: stdlib, lib1, main
|
||||
STEP 9..16:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
|
||||
Reference in New Issue
Block a user