5b4e9e2966
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
24 lines
392 B
Plaintext
Vendored
24 lines
392 B
Plaintext
Vendored
MODULES: lib1, main
|
|
|
|
STEP 0:
|
|
libs: lib1, main
|
|
dirty js: lib1, main
|
|
STEP 1:
|
|
libs: lib1, main
|
|
dirty js: lib1
|
|
STEP 2..3:
|
|
libs: lib1, main
|
|
dirty js: lib1, main
|
|
STEP 4..7:
|
|
libs: lib1, main
|
|
dirty js: lib1
|
|
STEP 8:
|
|
libs: lib1, main
|
|
dirty js: lib1, main
|
|
STEP 9:
|
|
libs: lib1, main
|
|
dirty js: lib1
|
|
STEP 10..11:
|
|
libs: lib1, main
|
|
dirty js: lib1, main
|