[pypy-svn] r79888 - pypy/branch/arm-backend/pypy/jit/backend/arm

david at codespeak.net david at codespeak.net
Wed Dec 8 11:21:43 CET 2010


Author: david
Date: Wed Dec  8 11:21:40 2010
New Revision: 79888

Modified:
   pypy/branch/arm-backend/pypy/jit/backend/arm/opassembler.py
Log:
Make sure guard_nonnull_class fits in current piece of memory

Modified: pypy/branch/arm-backend/pypy/jit/backend/arm/opassembler.py
==============================================================================
--- pypy/branch/arm-backend/pypy/jit/backend/arm/opassembler.py	(original)
+++ pypy/branch/arm-backend/pypy/jit/backend/arm/opassembler.py	Wed Dec  8 11:21:40 2010
@@ -265,8 +265,12 @@
         return fcond
 
     def emit_op_guard_nonnull_class(self, op, regalloc, fcond):
-        locs = self._prepare_guard_class(op, regalloc, fcond)
         offset = self.cpu.vtable_offset
+        if offset is not None:
+            self.mc.ensure_can_fit(self.guard_size+3*WORD)
+        else:
+            raise NotImplementedError
+        locs = self._prepare_guard_class(op, regalloc, fcond)
 
         self.mc.CMP_ri(locs[0].value, 0)
         if offset is not None:



More information about the Pypy-commit mailing list