-
Notifications
You must be signed in to change notification settings - Fork 580
[CoreCLR] Remove assembly store decompression cache #12780
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -107,11 +107,10 @@ and aligned to a byte boundary. | |
| The header is a fixed-size structure at the beginning of each assembly store file: | ||
|
|
||
| - **MAGIC** (`uint32_t`) - Magic value `0x41424158` ("XABA" in little-endian) | ||
| - **FORMAT_VERSION** (`uint32_t`) - Store format version number (includes ABI and 64-bit flags). Version `3` is used by MonoVM applications and version `4` by CoreCLR applications (see [Hash table format](#hash-table-format)) | ||
| - **FORMAT_VERSION** (`uint32_t`) - Store format version number (includes ABI and 64-bit flags). Version `3` is used by MonoVM and CoreCLR applications (see [Hash table format](#hash-table-format)) | ||
| - **ENTRY_COUNT** (`uint32_t`) - Number of assemblies in the store | ||
| - **INDEX_ENTRY_COUNT** (`uint32_t`) - Number of entries in the index (typically `ENTRY_COUNT * 2`) | ||
| - **INDEX_SIZE** (`uint32_t`) - Index size in bytes | ||
| - **CONTENT_ID** (`uint64_t`) - Deterministic xxHash3 of everything after the header | ||
|
|
||
| ## [INDEX] | ||
|
|
||
|
|
@@ -169,7 +168,6 @@ All kinds of stores share the following header format: | |
| uint32_t entry_count; | ||
| uint32_t index_entry_count; | ||
| uint32_t index_size; // index size in bytes | ||
| uint64_t content_id; | ||
| }; | ||
|
|
||
| Individual fields have the following meanings: | ||
|
|
@@ -181,7 +179,6 @@ Individual fields have the following meanings: | |
| table, see below) | ||
| - `index_entry_count`: number of entries in the index | ||
| - `index_size`: index size in bytes | ||
| - `content_id`: deterministic xxHash3 of the index, descriptors, names, and assembly data | ||
|
|
||
| ## Assembly descriptor table | ||
|
|
||
|
|
@@ -236,7 +233,7 @@ appending it in order to generate the hash for index lookup. | |
|
|
||
| The hashing algorithm depends on the runtime the application targets: | ||
|
|
||
| - **CoreCLR** (store format version `4`): the hash is a 32-bit | ||
| - **CoreCLR** (store format version `3`): the hash is a 32-bit | ||
|
Comment on lines
-239
to
+236
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we increment to version 5, or are we sure it was the same as before?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's the same it was before. It was disabled so nobody used it anyway. I would treat v4 as never shipped. |
||
| [CRC32](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) | ||
| value, used on both 32-bit and 64-bit platforms. | ||
| - **MonoVM** (store format version `3`): the hash is obtained using the | ||
|
|
@@ -287,7 +284,6 @@ struct [[gnu::packed]] AssemblyStoreHeader final | |
| uint32_t entry_count; | ||
| uint32_t index_entry_count; | ||
| uint32_t index_size; // index size in bytes | ||
| uint64_t content_id; | ||
| }; | ||
| ``` | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.