Author: Stephan <step...@stzal.com> 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit