[pypy-svn] r12793 - pypy/dist/pypy/translator/llvm
ericvrp at codespeak.net
ericvrp at codespeak.net
Wed May 25 12:39:24 CEST 2005
Author: ericvrp
Date: Wed May 25 12:39:24 2005
New Revision: 12793
Modified:
pypy/dist/pypy/translator/llvm/classrepr.py
pypy/dist/pypy/translator/llvm/funcrepr.py
pypy/dist/pypy/translator/llvm/pbcrepr.py
Log:
this makes all llvm tests pass on x86-64
Modified: pypy/dist/pypy/translator/llvm/classrepr.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/classrepr.py (original)
+++ pypy/dist/pypy/translator/llvm/classrepr.py Wed May 25 12:39:24 2005
@@ -21,8 +21,8 @@
from pypy.translator.llvm.funcrepr import VirtualMethodRepr
from pypy.translator.llvm.memorylayout import MemoryLayout
-debug = True
-lazy_debug = True
+debug = False
+lazy_debug = False
class ClassRepr(TypeRepr):
l_classes = {}
@@ -122,7 +122,7 @@
def get_globals(self):
s = "\n%s = internal global %%std.class {%%std.class* null, uint %i}"
- s = s % (self.objectname, abs(id(self)))
+ s = s % (self.objectname, abs(id(self)) & 0xFFFFFFF)
return self.definition + s
def collect_init_code(self, lblock, l_func):
@@ -247,7 +247,7 @@
self.objectname = gen.get_global_tmp("class.%s.object" %
self.exception.__name__)
s = "%s = internal global %%std.class {%%std.class* null, uint %i}"
- self.definition = s % (self.objectname, abs(id(exception)))
+ self.definition = s % (self.objectname, abs(id(exception)) & 0xFFFFFFF)
self.dependencies = sets.Set()
lazy_attributes = ['l_base', 'memlayout']
Modified: pypy/dist/pypy/translator/llvm/funcrepr.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/funcrepr.py (original)
+++ pypy/dist/pypy/translator/llvm/funcrepr.py Wed May 25 12:39:24 2005
@@ -342,7 +342,7 @@
if len(l_exits) == 1 and self.pyblock.exits[1].exitcase == Exception:
lexcblock.uncond_branch("%" + l_exits[0].toblock)
else:
- sw = [(str(abs(id(ex.exitcase))), "%" + l_l.toblock)
+ sw = [(str(abs(id(ex.exitcase)) & 0xFFFFFFF), "%" + l_l.toblock)
for ex, l_l in zip(self.pyblock.exits[1:], l_exits)]
lexcblock.switch(l_ui, "%" + self.lblock.label + ".unwind", sw)
lunwindblock = llvmbc.BasicBlock(self.lblock.label + ".unwind")
@@ -628,7 +628,7 @@
entryblock.getelementptr(l_uip, l_cl, [0, 1])
entryblock.load(l_ui, l_uip)
entryblock.switch(l_ui, "%" + self.l_commonbase.classdef.cls.__name__,
- [(str(abs(id(l_c))), "%" + l_c.classdef.cls.__name__)
+ [(str(abs(id(l_c)) & 0xFFFFFFF), "%" + l_c.classdef.cls.__name__)
for l_c in self.l_classes])
lfunc = llvmbc.Function(self.llvmfuncdef(), entryblock)
for i, l_cls in enumerate(self.l_classes):
Modified: pypy/dist/pypy/translator/llvm/pbcrepr.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/pbcrepr.py (original)
+++ pypy/dist/pypy/translator/llvm/pbcrepr.py Wed May 25 12:39:24 2005
@@ -85,7 +85,7 @@
self.memlayout = MemoryLayout(attribs, l_types, self.gen)
self.definition = "%s = %s" % (self.name, self.memlayout.definition())
s = "\n%s = internal global %%std.class {%%std.class* null, uint %i}"
- self.definition += s % (self.objectname, abs(id(self)))
+ self.definition += s % (self.objectname, abs(id(self)) & 0xFFFFFFF)
def llvmtype(self):
return "%std.class*"
More information about the Pypy-commit
mailing list