[pypy-svn] r28715 - pypy/dist/pypy/translator/oosupport
fijal at codespeak.net
fijal at codespeak.net
Mon Jun 12 17:58:13 CEST 2006
Author: fijal
Date: Mon Jun 12 17:58:12 2006
New Revision: 28715
Modified:
pypy/dist/pypy/translator/oosupport/metavm.py
Log:
Some small fixes.
Modified: pypy/dist/pypy/translator/oosupport/metavm.py
==============================================================================
--- pypy/dist/pypy/translator/oosupport/metavm.py (original)
+++ pypy/dist/pypy/translator/oosupport/metavm.py Mon Jun 12 17:58:12 2006
@@ -113,9 +113,11 @@
func = op.args[0]
if getattr(func.value._callable, 'suggested_primitive', False):
func_name = func.value._name.split("__")[0]
- return self.builtins.builtin_map[func_name](generator, op)
- else:
- return self.class_map['Call'].render(generator, op)
+ try:
+ return self.builtins.builtin_map[func_name](generator, op)
+ except KeyError:
+ pass
+ return self.class_map['Call'].render(generator, op)
class _GetFieldDispatcher(_GeneralDispatcher):
def render(self, generator, op):
@@ -133,7 +135,11 @@
class _New(MicroInstruction):
def render(self, generator, op):
- generator.new(op.args[0].value)
+ try:
+ op.args[0].value._hints['_suggested_external']
+ generator.ilasm.new(op.args[0].value._name.split('.')[-1])
+ except (KeyError, AttributeError):
+ generator.new(op.args[0].value)
New = _New()
More information about the Pypy-commit
mailing list