Author: Philip Jenvey <[email protected]>
Branch:
Changeset: r72090:f48daf83db6a
Date: 2014-06-17 14:57 -0700
http://bitbucket.org/pypy/pypy/changeset/f48daf83db6a/
Log: prefer find/setitem_str shortcuts
diff --git a/pypy/interpreter/pyframe.py b/pypy/interpreter/pyframe.py
--- a/pypy/interpreter/pyframe.py
+++ b/pypy/interpreter/pyframe.py
@@ -511,10 +511,10 @@
for i in range(min(len(varnames), self.getcode().co_nlocals)):
name = varnames[i]
w_value = self.locals_stack_w[i]
- w_name = self.space.wrap(name)
if w_value is not None:
- self.space.setitem(self.w_locals, w_name, w_value)
+ self.space.setitem_str(self.w_locals, name, w_value)
else:
+ w_name = self.space.wrap(name)
try:
self.space.delitem(self.w_locals, w_name)
except OperationError as e:
@@ -534,8 +534,7 @@
except ValueError:
pass
else:
- w_name = self.space.wrap(name)
- self.space.setitem(self.w_locals, w_name, w_value)
+ self.space.setitem_str(self.w_locals, name, w_value)
@jit.unroll_safe
@@ -548,13 +547,9 @@
new_fastlocals_w = [None] * numlocals
for i in range(min(len(varnames), numlocals)):
- w_name = self.space.wrap(varnames[i])
- try:
- w_value = self.space.getitem(self.w_locals, w_name)
- except OperationError, e:
- if not e.match(self.space, self.space.w_KeyError):
- raise
- else:
+ name = varnames[i]
+ w_value = self.space.finditem_str(self.w_locals, name)
+ if w_value is not None:
new_fastlocals_w[i] = w_value
self.setfastscope(new_fastlocals_w)
@@ -563,13 +558,8 @@
for i in range(len(freevarnames)):
name = freevarnames[i]
cell = self.cells[i]
- w_name = self.space.wrap(name)
- try:
- w_value = self.space.getitem(self.w_locals, w_name)
- except OperationError, e:
- if not e.match(self.space, self.space.w_KeyError):
- raise
- else:
+ w_value = self.space.finditem_str(self.w_locals, name)
+ if w_value is not None:
cell.set(w_value)
@jit.unroll_safe
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit