|author||John Mark Bell <email@example.com>||2008-12-01 16:46:45 +0000|
|committer||John Mark Bell <firstname.lastname@example.org>||2008-12-01 16:46:45 +0000|
The advantage of interning strings is that you don't have to store their length everywhere. Purge the length part from the encoding of a string in the bytecode.
Fix bytecode dump code to cope with this. svn path=/trunk/libcss/; revision=5864
Diffstat (limited to 'docs')
1 files changed, 2 insertions, 3 deletions
diff --git a/docs/Bytecode b/docs/Bytecode
index 0b5ec74..552fc30 100644
@@ -27,9 +27,8 @@ All numeric values are stored in a 32bit wide field. This field contains
a fixed point value with 22 bits assigned to the integer part and 10 bits
assigned to the fractional part.
-Strings are stored as <pointer,length> pairs, as per css_string.
-Pointer's width is the native width of a pointer on the platform.
-Length's width is the native width of a size_t on the platform.
+Strings are stored as a pointer to an interned string.
+The pointer's width is the native width of a pointer on the platform.
CSS dimensions are stored as two 32bit values: <length, units>.
Length is a 32bit numeric value (as described above) and unit is as follows: