| 5 Sep 2024 |
outfoxxed | and already embedded in the qmlc | 07:27:57 |
outfoxxed | we can use one or more bytes to signify it should be read as a hash of both and compared as such | 07:28:31 |
outfoxxed | worst case scenario some application not running from the nix store gets a cache miss | 07:28:53 |
K900 ⚡️ | I think I need to reread the cache cleaning code | 07:31:35 |
K900 ⚡️ | Because I am very confused on how it's intended to work | 07:31:44 |
outfoxxed | qv4executablecompilationunit.cpp | 07:31:54 |
outfoxxed | ExecutableCompilationUnit::verifyHeader | 07:32:01 |
outfoxxed | my proposal is to check for a proefix on unit->libraryVersionHash, and if present handle the following bytes as a hash of QML_COMPILE_HASH and the application's store path | 07:33:13 |
outfoxxed | * my proposal is to check for a prefix on unit->libraryVersionHash, and if present handle the following bytes as a hash of QML_COMPILE_HASH and the application's store path | 07:33:26 |
outfoxxed | if not present its handled normally to avoid breaking anything that isn't a nix packaged qtquick application | 07:34:37 |
K900 ⚡️ | I wonder if upstream would be open to like | 07:36:31 |
K900 ⚡️ | Hashing all the build IDs together or something | 07:36:39 |
outfoxxed | In reply to @k900:0upti.me Hashing all the build IDs together or something it seems like qt has .tag for the same purpose as build id at least | 07:37:40 |
K900 ⚡️ | Yeah but that's just for Qt itself | 07:37:52 |
K900 ⚡️ | And I mean the build IDs of all the objects | 07:38:01 |
outfoxxed | its what goes into QML_COMPILE_HASH | 07:38:02 |
K900 ⚡️ | Including the application and whatever libraries it has loaded | 07:38:14 |
outfoxxed | In reply to @k900:0upti.me And I mean the build IDs of all the objects will they be able to handle this consistently on all their supported platforms? | 07:38:18 |
K900 ⚡️ | No | 07:38:26 |
outfoxxed | or like, anything other than linux/bsd even | 07:38:36 |
K900 ⚡️ | It would have to be in addition | 07:38:36 |
K900 ⚡️ | Not as a replacement | 07:38:43 |
outfoxxed | yeah I have no idea, but if anything happens upstream it probably won't be in a released qt version for quite a while at least | 07:40:38 |
outfoxxed | so we still do need something here | 07:40:50 |
K900 ⚡️ | We could backport | 07:41:05 |
K900 ⚡️ | That's not a problem | 07:41:08 |
K900 ⚡️ | Ugh hold on I need coffee | 07:41:14 |
K900 ⚡️ | I can't fit this three level cache key structure into my head right now | 07:41:28 |
outfoxxed | In reply to @k900:0upti.me We could backport not necessarily I've ended up looking through a few versions of this code for other reasons and it changes a lot | 07:41:57 |
outfoxxed | plus then we'd have a different qmlc format again | 07:42:18 |