[SCM] Lisaac compiler branch, master, updated. lisaac-0.12-479-g2739a27

sonntag (none) sonntag at isaac.
Sat Sep 12 00:55:52 UTC 2009


The following commit has been merged in the master branch:
commit 2739a27a7b33d6c7cf02abb4b0b3089bee2e638d
Author: sonntag <sonntag at isaac.(none)>
Date:   Sat Sep 12 02:55:16 2009 +0200

    Support 64bits OK

diff --git a/lib/memory/memory.li b/lib/memory/memory.li
index 2f77092..b465dec 100644
--- a/lib/memory/memory.li
+++ b/lib/memory/memory.li
@@ -114,7 +114,10 @@ Section MEMORY
   ( 
     capacity_max := SYSTEM.get_memory_capacity;
     begin_memory := SYSTEM.get_begin_memory;
-  
+    /*
+    "Capacity : ".print; capacity_max.print_hex; '\n'.print;
+    "Begin    : ".print; begin_memory.print_hex; '\n'.print;
+    */
     {begin_memory != NULL} ? "Memory: Not memory.";
     {(begin_memory & (POINTER.object_size - 1)) = 0} ? "Memory: Alignment.";
   );
@@ -134,14 +137,17 @@ Section MEMORY
       "Not enough memory.\n".print;
       die_with_code exit_failure_code;
     };
-            
-    block := CONVERT(POINTER,MEMORY).on (begin_memory + old_size);    
-    
+    /*
+    "Begin_memory + old_size : ".print;  
+    (begin_memory + old_size).print_hex; '\n'.print;
+    "object_size : ".print; object_size.print; '\n'.print;
+    */
+    block := CONVERT(POINTER,MEMORY).on (begin_memory + old_size);        
     block.set_previous_linear NULL; 
     block.set_size_and_id (id_free | id_end | (64.mb - object_size));
     block.add_link_free;    
     put_last block to (nb_page - 1);
-        
+
     block
   );
     
@@ -326,7 +332,7 @@ Section MEMORY
       idx := idx + 1;
     };
     
-    (idx >= nb_page).if {    
+    (idx >= nb_page).if {          
       blc := new_page;
     };        
     blc.set_size_and_id (blc.size_and_id - 4096);
@@ -394,7 +400,7 @@ Section Private
 
     result := read_ptr ptr_table;            
     (result = NULL).if {      
-      // Allocation new LAB.            
+      // Allocation new LAB.                  
       result := new_lab lab_type;          
       next := result + new_size;            
       put_ptr NULL to next;
@@ -523,6 +529,8 @@ Section Public
 
     new_size  := sz.align_power (POINTER.object_size); 
     
+    //"alloc_type : ".print; new_size.print; '\n'.print;
+    
     {(new_size & (POINTER.object_size - 1)) = 0} ? "Memory: Alignment.";        
         
     ptr_table := table_type t;
@@ -547,6 +555,8 @@ Section Public
         
     new_size  := sz.align_power (POINTER.object_size); 
     
+    //"alloc_size : ".print; new_size.print; '\n'.print;
+    
     {(new_size & (POINTER.object_size - 1)) = 0} ? "Memory: Alignment.";
     
     ptr_table := table_size (new_size / POINTER.object_size);    
diff --git a/lib/number/integer.li b/lib/number/integer.li
index ade155d..e77d0e7 100644
--- a/lib/number/integer.li
+++ b/lib/number/integer.li
@@ -599,7 +599,7 @@ Section Public
   
 Section INTEGER  
   
-  - to_raw_pointer:POINTER         <- CONVERT(SELF,POINTER).on Self;
+  - to_raw_pointer:POINTER         <- CONVERT(UINTEGER_CPU,POINTER).on to_uinteger_cpu;
 
 
 
diff --git a/lib/number/uinteger_32.li b/lib/number/uinteger_32.li
index 2155981..8d60296 100644
--- a/lib/number/uinteger_32.li
+++ b/lib/number/uinteger_32.li
@@ -41,7 +41,7 @@ Section Public
   // Range.
   //
   
-  - maximum:UINTEGER_64 := 0FFFF_FFFFh.to_raw_uinteger_64;
+  - maximum:UINTEGER_64 := ~ 0.to_raw_uinteger_32;
   
   //
   // Conversion with test.
diff --git a/make.lip b/make.lip
index 714f4c4..c016157 100644
--- a/make.lip
+++ b/make.lip
@@ -139,7 +139,7 @@ Section Private
         lib_gcc := lib_gcc + " " + lib;
         run "rm __tmp__.c __tmp__";
       } else {
-        "\nERROR: `" + lib + "' library for GCC not found.\n".print;
+        ("\nERROR: `" + lib + "' library for GCC not found.\n").print;
         run "rm __tmp__.c";
         exit;
       };    

-- 
Lisaac compiler



More information about the Lisaac-commits mailing list