Commit 78c3e971 authored by John van Groningen's avatar John van Groningen

use new descriptor format

parent e8c575d3
......@@ -101,11 +101,16 @@ FileExists name = result==0;
constructor_name_ :: !Int !Int !{#Char} {#Char} -> (!{#Char},!{#Char});
constructor_name_ data_offset arity data text
# descriptor_max_arity_offset = data_offset + (data WORD (data_offset+2));
#! string_offset = descriptor_max_arity_offset+12;
# module_name_offset = data LONG (descriptor_max_arity_offset + 8);
/*
# descriptor_offset=data_offset-(data WORD (data_offset+2));
descriptor_arity=data WORD (descriptor_offset-2);
string_offset=descriptor_offset+4+(descriptor_arity<<3);
string_length=data LONG string_offset;
module_name_offset = data LONG (descriptor_offset-12);
*/
string_length=data LONG string_offset;
module_name_length = data LONG module_name_offset;
= (data % (string_offset+4,string_offset+3+string_length),data % (module_name_offset+4,module_name_offset+3+module_name_length));
......@@ -123,10 +128,17 @@ FileExists name = result==0;
| descriptor_toc_offset bitand 3<>0
= abort "get_closure_name";
# descriptor_offset = data LONG (descriptor_toc_offset-0x8000);
# descriptor_max_arity_offset = descriptor_offset + (data WORD (descriptor_offset+2));
#! string_offset = descriptor_max_arity_offset+12;
# module_name_offset = data LONG (descriptor_max_arity_offset + 8);
/*
descriptor_arity=data WORD (descriptor_offset-2);
string_offset=descriptor_offset+4+(descriptor_arity<<3);
string_length=(data LONG string_offset);
module_name_offset = data LONG (descriptor_offset-12);
*/
string_length=(data LONG string_offset);
module_name_length = data LONG module_name_offset;
= (data % (string_offset+4,string_offset+3+string_length),data % (module_name_offset+4,module_name_offset+3+module_name_length));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment