diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-08-16 19:24:36 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-08-16 19:24:36 +0000 |
commit | 5bc74d551a530491984bd9e78b331e6664188058 (patch) | |
tree | 1e469814a274f8d5bfb895731de7a583503f597c /docs/BytecodeFormat.html | |
parent | cdc4b86e35e8f091ec3f24c9205f6d645b4d03d6 (diff) |
Correct the documentation for the module block header which uses the long
format instead of the short format used in other blocks.
Discrepancy noted by Robert Mykland. Thanks Robert!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15826 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/BytecodeFormat.html')
-rw-r--r-- | docs/BytecodeFormat.html | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/docs/BytecodeFormat.html b/docs/BytecodeFormat.html index 5bb5d537fb..76365b4ea0 100644 --- a/docs/BytecodeFormat.html +++ b/docs/BytecodeFormat.html @@ -614,10 +614,13 @@ sections.</p> <th class="td_left"><b>Field Description</b></th> </tr> <tr> - <td><a href="#block">block</a><br> - </td> - <td class="td_left">Module Block Identifier (0x01) and Size<br> - </td> + <td><a href="#unsigned">unsigned</a><br></td> + <td class="td_left"><a href="#mod_header">Module Block Identifier + (0x01)</a></td> + </tr> + <tr> + <td><a href="#unsigned">unsigned</a></td> + <td class="td_left"><a href="#mod_header">Module Block Size</a></td> </tr> <tr> <td><a href="#uint32_vbr">uint32_vbr</a></td> @@ -646,6 +649,21 @@ sections.</p> </tbody> </table> </div> + +<!-- _______________________________________________________________________ --> +<div class="doc_subsubsection"><a name="mod_header">Module Block Header</a></div> +<div class="doc_text"> + <p>The block header for the module block uses a longer format than the other + blocks in a bytecode file. Specifically, instead of encoding the type and size + of the block into a 32-bit integer with 5-bits for type and 27-bits for size, + the module block header uses two 32-bit unsigned values, one for type, and one + for size. While the 2<sup>27</sup> byte limit on block size is sufficient for the blocks + contained in the module, it isn't sufficient for the module block itself + because we want to ensure that bytecode files as large as 2<sup>32</sup> bytes + are possible. For this reason, the module block (and only the module block) + uses a long format header.</p> +</div> + <!-- _______________________________________________________________________ --> <div class="doc_subsubsection"><a name="format">Format Information</a></div> <div class="doc_text"> |