[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