From f57b8b9e70b25a6686c198982dd2809211bb7a94 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Mon, 16 Aug 2004 19:24:36 +0000 Subject: 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! llvm-svn: 15826 --- llvm/docs/BytecodeFormat.html | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'llvm/docs/BytecodeFormat.html') diff --git a/llvm/docs/BytecodeFormat.html b/llvm/docs/BytecodeFormat.html index 5bb5d537fb6..76365b4ea0d 100644 --- a/llvm/docs/BytecodeFormat.html +++ b/llvm/docs/BytecodeFormat.html @@ -614,10 +614,13 @@ sections.

Field Description - block
- - Module Block Identifier (0x01) and Size
- + unsigned
+ Module Block Identifier + (0x01) + + + unsigned + Module Block Size uint32_vbr @@ -646,6 +649,21 @@ sections.

+ + +
Module Block Header
+
+

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 227 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 232 bytes + are possible. For this reason, the module block (and only the module block) + uses a long format header.

+
+
Format Information
-- cgit v1.2.3