Author: Stephan <[email protected]>
Branch:
Changeset: r344:2990200ab3f0
Date: 2013-01-19 14:28 +0100
http://bitbucket.org/pypy/lang-js/changeset/2990200ab3f0/
Log: removed resizable stack code
diff --git a/js/execution_context.py b/js/execution_context.py
--- a/js/execution_context.py
+++ b/js/execution_context.py
@@ -11,7 +11,7 @@
self._variable_environment_ = None
self._this_binding_ = None
self._refs_ = [None] * refs_size
- self._init_stack_(size=stack_size, resize=False)
+ self._init_stack_(stack_size)
def stack_append(self, value):
self._stack_append(value)
diff --git a/js/utils.py b/js/utils.py
--- a/js/utils.py
+++ b/js/utils.py
@@ -9,10 +9,9 @@
def __init__(self):
self._init_stack_()
- def _init_stack_(self, size=1, resize=True):
+ def _init_stack_(self, size=1):
self._stack_ = [None] * size
self._stack_pointer_ = 0
- self._stack_resize_ = resize
def _stack_pointer(self):
return jit.promote(self._stack_pointer_)
@@ -35,11 +34,7 @@
i = self._stack_pointer()
len_stack = len(self._stack_)
- assert i >= 0
- if len_stack <= i and self._stack_resize_ is True:
- self._stack_ += [None]
- else:
- assert len_stack > i
+ assert i >= 0 and len_stack > i
self._stack_[i] = element
self._stack_pointer_ = i + 1
diff --git a/test/test_stack.py b/test/test_stack.py
--- a/test/test_stack.py
+++ b/test/test_stack.py
@@ -1,10 +1,10 @@
import py
-
from js.utils import StackMixin
+
class Stack(StackMixin):
- def __init__(self, size, resize = True):
- self._init_stack_(size, resize)
+ def __init__(self, size):
+ self._init_stack_(size)
def pop(self):
return self._stack_pop()
@@ -18,6 +18,7 @@
def pop_n(self, n):
return self._stack_pop_n(n)
+
class TestStack(object):
def test_stack_push(self):
s = Stack(99)
@@ -45,7 +46,7 @@
s.append(3)
assert s.pop() == 3
assert s._stack_pointer_ == 2
- assert s._stack_[2] == None
+ assert s._stack_[2] is None
s = Stack(99)
s.append(1)
@@ -74,18 +75,11 @@
x = s.pop_n(2)
assert x == [2, 3]
assert s._stack_pointer_ == 1
- assert s._stack_[1] == None
- assert s._stack_[2] == None
+ assert s._stack_[1] is None
+ assert s._stack_[2] is None
def test_stack_no_resize(self):
- s = Stack(2, False)
+ s = Stack(2)
s.append(1)
s.append(1)
- py.test.raises(AssertionError, s.append,1)
-
- def test_stack_resize(self):
- s = Stack(0)
- s.append(1)
- s.append(2)
- s.append(3)
- assert len(s._stack_) == 3
+ py.test.raises(AssertionError, s.append, 1)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit