Author: Armin Rigo <[email protected]>
Branch: emit-call-x86
Changeset: r64335:b721a7cda30a
Date: 2013-05-19 18:36 +0200
http://bitbucket.org/pypy/pypy/changeset/b721a7cda30a/
Log: Fix
diff --git a/rpython/jit/backend/x86/assembler.py
b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -1003,8 +1003,8 @@
gcrootmap = self.cpu.gc_ll_descr.gcrootmap
return bool(gcrootmap) and not gcrootmap.is_shadow_stack
- def simple_call(self, fnloc, arglocs):
- cb = callbuilder.CallBuilder(self, fnloc, arglocs)
+ def simple_call(self, fnloc, arglocs, result_loc=eax):
+ cb = callbuilder.CallBuilder(self, fnloc, arglocs, result_loc)
cb.emit()
def _reload_frame_if_necessary(self, mc, align_stack=False):
@@ -1913,8 +1913,8 @@
def _call_assembler_emit_call(self, addr, argloc, _):
self.simple_call(addr, [argloc])
- def _call_assembler_emit_helper_call(self, addr, arglocs, _):
- self.simple_call(addr, arglocs)
+ def _call_assembler_emit_helper_call(self, addr, arglocs, result_loc):
+ self.simple_call(addr, arglocs, result_loc)
def _call_assembler_check_descr(self, value, tmploc):
ofs = self.cpu.get_ofs_of_frame_field('jf_descr')
diff --git a/rpython/jit/backend/x86/callbuilder.py
b/rpython/jit/backend/x86/callbuilder.py
--- a/rpython/jit/backend/x86/callbuilder.py
+++ b/rpython/jit/backend/x86/callbuilder.py
@@ -279,10 +279,8 @@
return self.total_stack_used_by_arguments
def load_result(self):
- if self.ressize == 0:
- return # void result
resloc = self.resloc
- if resloc.is_float():
+ if resloc is not None and resloc.is_float():
# a float or a long long return
if self.tmpresloc is None:
if self.restype == 'L': # long long
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit