[pypy-svn] r29862 - in pypy/dist/pypy/translator/cli: . src

antocuni at codespeak.net antocuni at codespeak.net
Sat Jul 8 18:54:52 CEST 2006


Author: antocuni
Date: Sat Jul  8 18:54:49 2006
New Revision: 29862

Modified:
   pypy/dist/pypy/translator/cli/class_.py
   pypy/dist/pypy/translator/cli/function.py
   pypy/dist/pypy/translator/cli/src/pypylib.cs
Log:
Added *very* primitive support for os.write



Modified: pypy/dist/pypy/translator/cli/class_.py
==============================================================================
--- pypy/dist/pypy/translator/cli/class_.py	(original)
+++ pypy/dist/pypy/translator/cli/class_.py	Sat Jul  8 18:54:49 2006
@@ -8,7 +8,7 @@
         self.cts = db.type_system_class(db)
         self.classdef = classdef
         self.namespace, self.name = self.cts.split_class_name(classdef._name)
-
+        
         if not self.is_root(classdef):
             self.db.pending_class(classdef._superclass)
 
@@ -35,7 +35,7 @@
         else:
             return base_class._name
 
-    def render(self, ilasm):
+    def render(self, ilasm):        
         if self.is_root(self.classdef):
             return
 

Modified: pypy/dist/pypy/translator/cli/function.py
==============================================================================
--- pypy/dist/pypy/translator/cli/function.py	(original)
+++ pypy/dist/pypy/translator/cli/function.py	Sat Jul  8 18:54:49 2006
@@ -67,6 +67,10 @@
             ilasm.opcode('call float64 [pypylib]pypy.runtime.Utils::Time()')
         elif func_name == 'll_time_clock':
             ilasm.opcode('call float64 [pypylib]pypy.runtime.Utils::Clock()')
+        elif func_name == 'll_os_write':
+            ilasm.opcode('ldarg.0')
+            ilasm.opcode('ldarg.1')
+            ilasm.opcode('call int32 [pypylib]pypy.runtime.Utils::os_write(int32, string)')
         else:
             assert False, 'Unknown primitive function: %s' % func_name
 

Modified: pypy/dist/pypy/translator/cli/src/pypylib.cs
==============================================================================
--- pypy/dist/pypy/translator/cli/src/pypylib.cs	(original)
+++ pypy/dist/pypy/translator/cli/src/pypylib.cs	Sat Jul  8 18:54:49 2006
@@ -113,6 +113,13 @@
             return (DateTime.UtcNow - ClockStart).TotalSeconds;
         }
 
+        // XXX: very hackish, refactoring needed
+        public static int os_write(int fd, string buffer)
+        {
+            if (fd == 1 || fd == 2)
+                Console.WriteLine(buffer);
+            return buffer.Length;
+        }
     }
 
     public class StringBuilder



More information about the Pypy-commit mailing list