From 481d950d8a5d53dc465fab61fbd3ae5a3d393fc1 Mon Sep 17 00:00:00 2001 From: Drahflow Date: Wed, 8 Jan 2014 14:51:54 +0100 Subject: Freeing heap type markers 2-3 for scalars (floats) --- notes | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'notes') diff --git a/notes b/notes index d442476..d36489a 100644 --- a/notes +++ b/notes @@ -193,29 +193,6 @@ Overhead: 1/32. * Exact length * data (UTF-8) -=== Scope === -* Length in bytes (including header) - bit 63-60: 0 0 1 0 - bit 59: reserved for GC - bit 58: parent pointer exists (for scopes) (always 1 for now) - bit 57: extension area pointer exists (always 1 for now) -* name table (mapping entry names to offsets) -* parent scope (0 if no parent) -* extension area pointer (0 if no extra members (yet)) -* data - [ ]* - -=== Name Table === -( TODO: create a hash-table based implementation here ) -* Length in bytes (including header) - bit 63-60: 0 0 1 1 - bit 59: reserved for GC -* End of fill in bytes (i.e. if this field == length, table is full) -* data - [ , ]* - ( TODO: Oh, the performance... ) - The 0th string maps to 0 and so on. - === Extension Area === * Length in bytes (including header) bit 63-60: 0 1 0 0 @@ -257,6 +234,29 @@ Overhead: 1/32. ( TODO: Think about representing this directly as array pointers ) ( TODO: Think about moving the counts to the beginning ) +=== Scope === +* Length in bytes (including header) + bit 63-60: 1 0 0 1 + bit 59: reserved for GC + bit 58: parent pointer exists (for scopes) (always 1 for now) + bit 57: extension area pointer exists (always 1 for now) +* name table (mapping entry names to offsets) +* parent scope (0 if no parent) +* extension area pointer (0 if no extra members (yet)) +* data + [ ]* + +=== Name Table === +( TODO: create a hash-table based implementation here ) +* Length in bytes (including header) + bit 63-60: 1 0 1 0 + bit 59: reserved for GC +* End of fill in bytes (i.e. if this field == length, table is full) +* data + [ , ]* + ( TODO: Oh, the performance... ) + The 0th string maps to 0 and so on. + = Musings About The Optimizer = Main problem: How do we find out if the names mean what we believe they do? -- cgit v1.2.3