path: root/docs
diff options
authorJohn Mark Bell <>2008-12-01 16:46:45 +0000
committerJohn Mark Bell <>2008-12-01 16:46:45 +0000
commit01d8d19b1219d8d917050b2896002dddebb59431 (patch)
treea8fcab29070a6caff95e7cc9b3f10894fe768db5 /docs
parenta7229c649b98f1c5f5ea97c486b03dcc814c16ea (diff)
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
--- a/docs/Bytecode
+++ b/docs/Bytecode
@@ -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: