[JS IR] Fix IC invalidation process when symbols are modified
The patch fixes the cases of IC invalidation when symbols are modified: adding and removing inline, data, in, out, suspend qualifiers. For that purpose an extra hash is used. It is written in a direct dependency graph into an IC cache metadata file. For inline functions a transitive hash is used. For non-inline functions, classes, and others a symbol hash is used. The invalidation routine marks the file as dirty (with 'updated imports' state) if hash is modified. ^KT-51083 Fixed ^KT-51088 Fixed ^KT-51090 Fixed ^KT-51099 Fixed
This commit is contained in:
committed by
Space
parent
644447db84
commit
5b4e9e2966
+4
-4
@@ -9,13 +9,13 @@ STEP 1:
|
||||
STEP 2..3:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
STEP 4..6:
|
||||
STEP 4..7:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
STEP 7:
|
||||
STEP 8:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
STEP 8..9:
|
||||
dirty js: lib1, main
|
||||
STEP 9:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
STEP 10..11:
|
||||
|
||||
Reference in New Issue
Block a user