Browse Source

Start getmem calls with smaller memory chuncks for CPU16 like i8086

git-svn-id: trunk@36240 -
pierre 8 years ago
parent
commit
c0fd038eaa
1 changed files with 14 additions and 3 deletions
  1. 14 3
      tests/webtbs/tw2494.pp

+ 14 - 3
tests/webtbs/tw2494.pp

@@ -9,6 +9,17 @@
 uses
 uses
   erroru;
   erroru;
 
 
+{$ifdef CPU16}
+  const
+    StartSize = 16*1024;
+    MaxSize = $10000;
+{$else}
+  const
+    StartSize = 1024*1024;
+    MaxSize =  2000000000{$ifdef CPU64}*2000000000{$endif CPU64};
+{$endif}
+
+
 type
 type
   matrix_element = array[1..1] of byte;
   matrix_element = array[1..1] of byte;
   big_matrix = array[1..1000000,1..610] of matrix_element;
   big_matrix = array[1..1000000,1..610] of matrix_element;
@@ -28,12 +39,12 @@ begin
   ReturnNilIfGrowHeapFails:=true;
   ReturnNilIfGrowHeapFails:=true;
   domem(mem);
   domem(mem);
   done := false;
   done := false;
-  size := 40000000;
+  size := StartSize;
   repeat
   repeat
     size := size+(size div 10);
     size := size+(size div 10);
     storage := size * sizeof(real);
     storage := size * sizeof(real);
-    if storage>2000000000{$ifdef CPU64}*2000000000{$endif CPU64} then
-      storage:=2000000000{$ifdef CPU64}*2000000000{$endif CPU64};
+    if storage>MaxSize then
+      storage:=MaxSize;
     writeln('size=',size,' (storage=',storage,')');
     writeln('size=',size,' (storage=',storage,')');
     getmem(l,storage);
     getmem(l,storage);
     if (l=nil) then
     if (l=nil) then