[pypy-svn] r79677 - pypy/branch/rlist-jit/pypy/jit/tl/spli

arigo at codespeak.net arigo at codespeak.net
Tue Nov 30 15:28:27 CET 2010


Author: arigo
Date: Tue Nov 30 15:28:24 2010
New Revision: 79677

Modified:
   pypy/branch/rlist-jit/pypy/jit/tl/spli/interpreter.py
Log:
Assert non-negative in this demo too.


Modified: pypy/branch/rlist-jit/pypy/jit/tl/spli/interpreter.py
==============================================================================
--- pypy/branch/rlist-jit/pypy/jit/tl/spli/interpreter.py	(original)
+++ pypy/branch/rlist-jit/pypy/jit/tl/spli/interpreter.py	Tue Nov 30 15:28:24 2010
@@ -105,26 +105,32 @@
         self.stack_depth += 1
 
     def pop(self):
-        self.stack_depth -= 1
-        val = self.value_stack[self.stack_depth]
-        self.value_stack[self.stack_depth] = None
+        sd = self.stack_depth - 1
+        assert sd >= 0
+        self.stack_depth = sd
+        val = self.value_stack[sd]
+        self.value_stack[sd] = None
         return val
 
     def pop_many(self, n):
         return [self.pop() for i in range(n)]
 
     def peek(self):
-        return self.value_stack[self.stack_depth - 1]
+        sd = self.stack_depth - 1
+        assert sd >= 0
+        return self.value_stack[sd]
 
     def POP_TOP(self, _, next_instr, code):
         self.pop()
         return next_instr
 
     def LOAD_FAST(self, name_index, next_instr, code):
+        assert name_index >= 0
         self.push(self.locals[name_index])
         return next_instr
 
     def STORE_FAST(self, name_index, next_instr, code):
+        assert name_index >= 0
         self.locals[name_index] = self.pop()
         return next_instr
 



More information about the Pypy-commit mailing list