Author: Stephan <[email protected]>
Branch:
Changeset: r60:75260dba56d9
Date: 2011-05-17 18:02 +0200
http://bitbucket.org/pypy/lang-js/changeset/75260dba56d9/
Log: extracted removal of last pop into method
diff --git a/js/jscode.py b/js/jscode.py
--- a/js/jscode.py
+++ b/js/jscode.py
@@ -116,12 +116,20 @@
self.opcodes.append(opcode)
return opcode
- def make_js_function(self, name='__dont_care__', params=None):
+ def unpop(self):
if self.opcodes and isinstance(self.opcodes[-1], POP):
self.opcodes.pop()
+ return True
else:
+ return False
+
+ def unpop_or_undefined(self):
+ if not self.unpop():
self.emit('LOAD_UNDEFINED')
+ def make_js_function(self, name='__dont_care__', params=None):
+ self.unpop_or_undefined()
+
if self.has_labels:
self.remove_labels()
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit