Author: Armin Rigo <ar...@tunes.org> 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit