[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