Rebase to 1.5 (rhbz#701121)

Update patches:
  patch 0: pypy-1.4-config.patch -> pypy-1.5-config.patch
  patch 4: pypy-1.4.1-more-readable-c-code.patch -> pypy-1.5-more-readable-c-code.patch

Remove references to *.inl files, no longer present

Add the following tests to the skip list:
  test_audioop, test_capi, test_distutils, test_gc, test_gdb, test_generators,
  test_getargs2, test_hotshot, test_io, test_multiprocessing, test_posix,
  test_readline, test_scope, test_strop, test_structmembers, test_subprocess,
  test_symtable, test_sys_settrace, test_tempfile, test_thread, test_uuid,
  test_zipimport_support

Add a couple of text files to the payload (TODO, stdlib-version.txt)
This commit is contained in:
David Malcolm 2011-05-02 14:46:32 -04:00
parent 3ca83f1944
commit 169de85aca
5 changed files with 386 additions and 94 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/pypy-1.4.1-src.tar.bz2 /pypy-1.4.1-src.tar.bz2
/pypy-1.5-src.tar.bz2

View File

@ -1,9 +1,10 @@
Index: pypy-1.4/pypy/translator/platform/linux.py diff -up pypy-1.5-src/pypy/translator/platform/linux.py.configure-fedora pypy-1.5-src/pypy/translator/platform/linux.py
=================================================================== --- pypy-1.5-src/pypy/translator/platform/linux.py.configure-fedora 2011-04-30 10:18:50.000000000 -0400
--- pypy-1.4.orig/pypy/translator/platform/linux.py +++ pypy-1.5-src/pypy/translator/platform/linux.py 2011-04-30 18:59:24.041160978 -0400
+++ pypy-1.4/pypy/translator/platform/linux.py @@ -1,13 +1,18 @@
@@ -3,17 +3,22 @@ import py, os """Support for Linux."""
from pypy.translator.platform import _run_subprocess -
+import os
from pypy.translator.platform.posix import BasePosix from pypy.translator.platform.posix import BasePosix
+CFLAGS = ['-O3', '-pthread', '-fomit-frame-pointer', +CFLAGS = ['-O3', '-pthread', '-fomit-frame-pointer',
@ -22,16 +23,10 @@ Index: pypy-1.4/pypy/translator/platform/linux.py
standalone_only = () standalone_only = ()
shared_only = ('-fPIC',) shared_only = ('-fPIC',)
so_ext = 'so' so_ext = 'so'
so_prefixes = ('lib', '') @@ -29,9 +34,10 @@ class Linux(BaseLinux):
-
+
def _args_for_shared(self, args):
return ['-shared'] + args
@@ -29,9 +34,10 @@ class BaseLinux(BasePosix):
class Linux(BaseLinux):
shared_only = () # it seems that on 32-bit linux, compiling with -fPIC shared_only = () # it seems that on 32-bit linux, compiling with -fPIC
# gives assembler that asmgcc is not happy about. # gives assembler that asmgcc is not happy about.
- def library_dirs_for_libffi_a(self): - def library_dirs_for_libffi_a(self):
- # places where we need to look for libffi.a - # places where we need to look for libffi.a
- return self.library_dirs_for_libffi() + ['/usr/lib'] - return self.library_dirs_for_libffi() + ['/usr/lib']

View File

@ -1,7 +1,7 @@
diff -r cd083843b67a pypy/interpreter/pycode.py diff -up pypy-1.5-src/pypy/interpreter/pycode.py.more-readable-c-code pypy-1.5-src/pypy/interpreter/pycode.py
--- a/pypy/interpreter/pycode.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/interpreter/pycode.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/interpreter/pycode.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/interpreter/pycode.py 2011-05-02 14:28:33.942161002 -0400
@@ -14,6 +14,7 @@ @@ -13,6 +13,7 @@ from pypy.interpreter.gateway import Non
from pypy.interpreter.astcompiler.consts import (CO_OPTIMIZED, from pypy.interpreter.astcompiler.consts import (CO_OPTIMIZED,
CO_OPTIMIZED, CO_NEWLOCALS, CO_VARARGS, CO_VARKEYWORDS, CO_NESTED, CO_OPTIMIZED, CO_NEWLOCALS, CO_VARARGS, CO_VARKEYWORDS, CO_NESTED,
CO_GENERATOR, CO_CONTAINSGLOBALS) CO_GENERATOR, CO_CONTAINSGLOBALS)
@ -9,7 +9,7 @@ diff -r cd083843b67a pypy/interpreter/pycode.py
from pypy.rlib.rarithmetic import intmask from pypy.rlib.rarithmetic import intmask
from pypy.rlib.debug import make_sure_not_resized from pypy.rlib.debug import make_sure_not_resized
from pypy.rlib import jit from pypy.rlib import jit
@@ -81,6 +82,7 @@ @@ -80,6 +81,7 @@ class PyCode(eval.Code):
self.hidden_applevel = hidden_applevel self.hidden_applevel = hidden_applevel
self.magic = magic self.magic = magic
self._signature = cpython_code_signature(self) self._signature = cpython_code_signature(self)
@ -17,10 +17,10 @@ diff -r cd083843b67a pypy/interpreter/pycode.py
self._initialize() self._initialize()
def _initialize(self): def _initialize(self):
@@ -403,3 +405,25 @@ @@ -396,3 +398,23 @@ class PyCode(eval.Code):
def repr(self, space): def repr(self, space):
return space.wrap(self.get_repr()) return space.wrap(self.get_repr())
repr.unwrap_spec = ['self', ObjSpace]
+ +
+ def get_linenum_for_offset(self, offset): + def get_linenum_for_offset(self, offset):
+ # Given a bytecode offset, return a 1-based index into the lines of the + # Given a bytecode offset, return a 1-based index into the lines of the
@ -41,12 +41,10 @@ diff -r cd083843b67a pypy/interpreter/pycode.py
+ # raise an IOError) + # raise an IOError)
+ self._ensure_source() + self._ensure_source()
+ return self._cached_source[linenum - 1] + return self._cached_source[linenum - 1]
+ diff -up pypy-1.5-src/pypy/objspace/flow/model.py.more-readable-c-code pypy-1.5-src/pypy/objspace/flow/model.py
+ --- pypy-1.5-src/pypy/objspace/flow/model.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
diff -r cd083843b67a pypy/objspace/flow/model.py +++ pypy-1.5-src/pypy/objspace/flow/model.py 2011-05-02 14:28:33.942161002 -0400
--- a/pypy/objspace/flow/model.py Mon Dec 20 17:17:45 2010 +0100 @@ -31,6 +31,120 @@ from pypy.tool.identity_dict import iden
+++ b/pypy/objspace/flow/model.py Wed Jan 05 16:14:35 2011 -0500
@@ -31,6 +31,120 @@
__metaclass__ = type __metaclass__ = type
@ -167,7 +165,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py
class FunctionGraph(object): class FunctionGraph(object):
__slots__ = ['startblock', 'returnblock', 'exceptblock', '__dict__'] __slots__ = ['startblock', 'returnblock', 'exceptblock', '__dict__']
@@ -94,6 +208,21 @@ @@ -94,6 +208,21 @@ class FunctionGraph(object):
seen[block] = True seen[block] = True
stack += block.exits[::-1] stack += block.exits[::-1]
@ -189,7 +187,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py
def iterlinks(self): def iterlinks(self):
block = self.startblock block = self.startblock
seen = {block: True} seen = {block: True}
@@ -183,14 +312,14 @@ @@ -183,14 +312,14 @@ class Block(object):
self.exits = [] # list of Link(s) self.exits = [] # list of Link(s)
def at(self): def at(self):
@ -207,7 +205,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py
else: else:
if (not self.exits) and len(self.inputargs) == 1: if (not self.exits) and len(self.inputargs) == 1:
txt = "return block" txt = "return block"
@@ -245,6 +374,21 @@ @@ -245,6 +374,21 @@ class Block(object):
from pypy.translator.tool.graphpage import try_show from pypy.translator.tool.graphpage import try_show
try_show(self) try_show(self)
@ -229,7 +227,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py
class Variable(object): class Variable(object):
__slots__ = ["_name", "_nr", "concretetype"] __slots__ = ["_name", "_nr", "concretetype"]
@@ -331,13 +475,15 @@ @@ -331,13 +475,15 @@ class WrapException(Exception):
class SpaceOperation(object): class SpaceOperation(object):
@ -248,7 +246,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py
def __eq__(self, other): def __eq__(self, other):
return (self.__class__ is other.__class__ and return (self.__class__ is other.__class__ and
@@ -352,8 +498,9 @@ @@ -352,8 +498,9 @@ class SpaceOperation(object):
return hash((self.opname,tuple(self.args),self.result)) return hash((self.opname,tuple(self.args),self.result))
def __repr__(self): def __repr__(self):
@ -260,7 +258,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py
class Atom(object): class Atom(object):
def __init__(self, name): def __init__(self, name):
@@ -448,8 +595,7 @@ @@ -427,8 +574,7 @@ def copygraph(graph, shallow=False, varm
for op in oplist: for op in oplist:
copyop = SpaceOperation(op.opname, copyop = SpaceOperation(op.opname,
[copyvar(v) for v in op.args], [copyvar(v) for v in op.args],
@ -270,10 +268,10 @@ diff -r cd083843b67a pypy/objspace/flow/model.py
result.append(copyop) result.append(copyop)
return result return result
newblock.operations = copyoplist(block.operations) newblock.operations = copyoplist(block.operations)
diff -r cd083843b67a pypy/objspace/flow/objspace.py diff -up pypy-1.5-src/pypy/objspace/flow/objspace.py.more-readable-c-code pypy-1.5-src/pypy/objspace/flow/objspace.py
--- a/pypy/objspace/flow/objspace.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/objspace/flow/objspace.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/objspace/flow/objspace.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/objspace/flow/objspace.py 2011-05-02 14:28:33.943161001 -0400
@@ -310,7 +310,9 @@ @@ -313,7 +313,9 @@ class FlowObjSpace(ObjSpace):
def do_operation(self, name, *args_w): def do_operation(self, name, *args_w):
spaceop = SpaceOperation(name, args_w, Variable()) spaceop = SpaceOperation(name, args_w, Variable())
if hasattr(self, 'executioncontext'): # not here during bootstrapping if hasattr(self, 'executioncontext'): # not here during bootstrapping
@ -284,10 +282,10 @@ diff -r cd083843b67a pypy/objspace/flow/objspace.py
self.executioncontext.recorder.append(spaceop) self.executioncontext.recorder.append(spaceop)
return spaceop.result return spaceop.result
diff -r cd083843b67a pypy/objspace/flow/test/test_model.py diff -up pypy-1.5-src/pypy/objspace/flow/test/test_model.py.more-readable-c-code pypy-1.5-src/pypy/objspace/flow/test/test_model.py
--- a/pypy/objspace/flow/test/test_model.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/objspace/flow/test/test_model.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/objspace/flow/test/test_model.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/objspace/flow/test/test_model.py 2011-05-02 14:28:33.943161001 -0400
@@ -132,3 +132,25 @@ @@ -119,3 +119,25 @@ def test_variable():
assert v2.renamed assert v2.renamed
assert v2.name.startswith("foobar_") and v2.name != v.name assert v2.name.startswith("foobar_") and v2.name != v.name
assert v2.name.split('_', 1)[1].isdigit() assert v2.name.split('_', 1)[1].isdigit()
@ -313,10 +311,10 @@ diff -r cd083843b67a pypy/objspace/flow/test/test_model.py
+ assert cmp(oplocA, oplocB) < 0 + assert cmp(oplocA, oplocB) < 0
+ assert cmp(oplocB, oplocA) > 0 + assert cmp(oplocB, oplocA) > 0
+ +
diff -r cd083843b67a pypy/rpython/rtyper.py diff -up pypy-1.5-src/pypy/rpython/rtyper.py.more-readable-c-code pypy-1.5-src/pypy/rpython/rtyper.py
--- a/pypy/rpython/rtyper.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/rpython/rtyper.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/rpython/rtyper.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/rpython/rtyper.py 2011-05-02 14:28:33.943161001 -0400
@@ -800,7 +800,7 @@ @@ -800,7 +800,7 @@ class HighLevelOp(object):
return vars return vars
def genop(self, opname, args_v, resulttype=None): def genop(self, opname, args_v, resulttype=None):
@ -325,7 +323,7 @@ diff -r cd083843b67a pypy/rpython/rtyper.py
def gendirectcall(self, ll_function, *args_v): def gendirectcall(self, ll_function, *args_v):
return self.llops.gendirectcall(ll_function, *args_v) return self.llops.gendirectcall(ll_function, *args_v)
@@ -935,7 +935,7 @@ @@ -935,7 +935,7 @@ class LowLevelOpList(list):
v.concretetype)) v.concretetype))
return v return v
@ -334,7 +332,7 @@ diff -r cd083843b67a pypy/rpython/rtyper.py
try: try:
for v in args_v: for v in args_v:
v.concretetype v.concretetype
@@ -944,7 +944,7 @@ @@ -944,7 +944,7 @@ class LowLevelOpList(list):
" and pass its result to genop()," " and pass its result to genop(),"
" never hop.args_v directly.") " never hop.args_v directly.")
vresult = Variable() vresult = Variable()
@ -343,18 +341,18 @@ diff -r cd083843b67a pypy/rpython/rtyper.py
if resulttype is None: if resulttype is None:
vresult.concretetype = Void vresult.concretetype = Void
return None return None
diff -r cd083843b67a pypy/translator/backendopt/inline.py diff -up pypy-1.5-src/pypy/translator/backendopt/inline.py.more-readable-c-code pypy-1.5-src/pypy/translator/backendopt/inline.py
--- a/pypy/translator/backendopt/inline.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/translator/backendopt/inline.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/translator/backendopt/inline.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/translator/backendopt/inline.py 2011-05-02 14:32:26.975161005 -0400
@@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@ from pypy.translator.simplify import get
from pypy.translator.unsimplify import copyvar from pypy.translator.unsimplify import copyvar
from pypy.objspace.flow.model import Variable, Constant, Block, Link from pypy.objspace.flow.model import Variable, Constant, Block, Link
from pypy.objspace.flow.model import SpaceOperation, c_last_exception from pypy.objspace.flow.model import SpaceOperation, c_last_exception
+from pypy.objspace.flow.model import OperationLoc +from pypy.objspace.flow.model import OperationLoc
from pypy.objspace.flow.model import FunctionGraph from pypy.objspace.flow.model import FunctionGraph
from pypy.objspace.flow.model import traverse, mkentrymap, checkgraph from pypy.objspace.flow.model import mkentrymap, checkgraph
from pypy.annotation import model as annmodel from pypy.annotation import model as annmodel
@@ -231,6 +232,7 @@ @@ -231,6 +232,7 @@ class BaseInliner(object):
self.varmap = {} self.varmap = {}
self._copied_blocks = {} self._copied_blocks = {}
self.op = block.operations[index_operation] self.op = block.operations[index_operation]
@ -362,7 +360,7 @@ diff -r cd083843b67a pypy/translator/backendopt/inline.py
self.graph_to_inline = self.get_graph_from_op(self.op) self.graph_to_inline = self.get_graph_from_op(self.op)
self.exception_guarded = False self.exception_guarded = False
if (block.exitswitch == c_last_exception and if (block.exitswitch == c_last_exception and
@@ -297,7 +299,9 @@ @@ -290,7 +292,9 @@ class BaseInliner(object):
def copy_operation(self, op): def copy_operation(self, op):
args = [self.get_new_name(arg) for arg in op.args] args = [self.get_new_name(arg) for arg in op.args]
@ -373,9 +371,9 @@ diff -r cd083843b67a pypy/translator/backendopt/inline.py
return result return result
def copy_block(self, block): def copy_block(self, block):
diff -r cd083843b67a pypy/translator/c/funcgen.py diff -up pypy-1.5-src/pypy/translator/c/funcgen.py.more-readable-c-code pypy-1.5-src/pypy/translator/c/funcgen.py
--- a/pypy/translator/c/funcgen.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/translator/c/funcgen.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/translator/c/funcgen.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/translator/c/funcgen.py 2011-05-02 14:28:33.944161001 -0400
@@ -1,4 +1,6 @@ @@ -1,4 +1,6 @@
import sys import sys
+import inspect +import inspect
@ -383,7 +381,7 @@ diff -r cd083843b67a pypy/translator/c/funcgen.py
from pypy.translator.c.support import USESLOTS # set to False if necessary while refactoring from pypy.translator.c.support import USESLOTS # set to False if necessary while refactoring
from pypy.translator.c.support import cdecl from pypy.translator.c.support import cdecl
from pypy.translator.c.support import llvalue_from_constant, gen_assignments from pypy.translator.c.support import llvalue_from_constant, gen_assignments
@@ -22,6 +24,38 @@ @@ -22,6 +24,38 @@ LOCALVAR = 'l_%s'
KEEP_INLINED_GRAPHS = False KEEP_INLINED_GRAPHS = False
@ -422,7 +420,7 @@ diff -r cd083843b67a pypy/translator/c/funcgen.py
class FunctionCodeGenerator(object): class FunctionCodeGenerator(object):
""" """
Collects information about a function which we have to generate Collects information about a function which we have to generate
@@ -210,14 +244,57 @@ @@ -210,14 +244,57 @@ class FunctionCodeGenerator(object):
def cfunction_body(self): def cfunction_body(self):
graph = self.graph graph = self.graph
@ -483,7 +481,7 @@ diff -r cd083843b67a pypy/translator/c/funcgen.py
for line in self.gen_op(op): for line in self.gen_op(op):
yield line yield line
if len(block.exits) == 0: if len(block.exits) == 0:
@@ -310,7 +387,7 @@ @@ -309,7 +386,7 @@ class FunctionCodeGenerator(object):
assignments.append((a2typename, dest, src)) assignments.append((a2typename, dest, src))
for line in gen_assignments(assignments): for line in gen_assignments(assignments):
yield line yield line
@ -492,16 +490,16 @@ diff -r cd083843b67a pypy/translator/c/funcgen.py
if link.target in self.innerloops: if link.target in self.innerloops:
loop = self.innerloops[link.target] loop = self.innerloops[link.target]
if link is loop.links[-1]: # link that ends a loop if link is loop.links[-1]: # link that ends a loop
diff -r cd083843b67a pypy/translator/c/test/test_genc.py diff -up pypy-1.5-src/pypy/translator/c/test/test_genc.py.more-readable-c-code pypy-1.5-src/pypy/translator/c/test/test_genc.py
--- a/pypy/translator/c/test/test_genc.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/translator/c/test/test_genc.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/translator/c/test/test_genc.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/translator/c/test/test_genc.py 2011-05-02 14:28:33.945161001 -0400
@@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
import autopath, sys, os, py import autopath, sys, os, py
+import re +import re
from pypy.rpython.lltypesystem.lltype import * from pypy.rpython.lltypesystem.lltype import *
from pypy.annotation import model as annmodel from pypy.annotation import model as annmodel
from pypy.translator.translator import TranslationContext from pypy.translator.translator import TranslationContext
@@ -498,3 +499,130 @@ @@ -515,3 +516,130 @@ def test_inhibit_tail_call():
else: else:
assert 0, "the call was not found in the C source" assert 0, "the call was not found in the C source"
assert 'PYPY_INHIBIT_TAIL_CALL();' in lines[i+1] assert 'PYPY_INHIBIT_TAIL_CALL();' in lines[i+1]
@ -632,10 +630,10 @@ diff -r cd083843b67a pypy/translator/c/test/test_genc.py
+ assert 'Here is a ' in c_fn_src + assert 'Here is a ' in c_fn_src
+ assert 'style comment within an RPython docstring' in c_fn_src + assert 'style comment within an RPython docstring' in c_fn_src
+ +
diff -r cd083843b67a pypy/translator/driver.py diff -up pypy-1.5-src/pypy/translator/driver.py.more-readable-c-code pypy-1.5-src/pypy/translator/driver.py
--- a/pypy/translator/driver.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/translator/driver.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/translator/driver.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/translator/driver.py 2011-05-02 14:28:33.945161001 -0400
@@ -539,6 +539,7 @@ @@ -536,6 +536,7 @@ class TranslationDriver(SimpleTaskEngine
dstname = self.compute_exe_name() + '.staticdata.info' dstname = self.compute_exe_name() + '.staticdata.info'
shutil.copy(str(fname), str(dstname)) shutil.copy(str(fname), str(dstname))
self.log.info('Static data info written to %s' % dstname) self.log.info('Static data info written to %s' % dstname)
@ -643,12 +641,12 @@ diff -r cd083843b67a pypy/translator/driver.py
# #
task_source_c = taskdef(task_source_c, ['database_c'], "Generating c source") task_source_c = taskdef(task_source_c, ['database_c'], "Generating c source")
diff -r cd083843b67a pypy/translator/gensupp.py diff -up pypy-1.5-src/pypy/translator/gensupp.py.more-readable-c-code pypy-1.5-src/pypy/translator/gensupp.py
--- a/pypy/translator/gensupp.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/translator/gensupp.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/translator/gensupp.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/translator/gensupp.py 2011-05-02 14:33:31.026161001 -0400
@@ -16,8 +16,8 @@ @@ -14,8 +14,8 @@ def ordered_blocks(graph):
def visit(block): allblocks = []
if isinstance(block, Block): for block in graph.iterblocks():
# first we order by offset in the code string # first we order by offset in the code string
- if block.operations: - if block.operations:
- ofs = block.operations[0].offset - ofs = block.operations[0].offset
@ -657,10 +655,10 @@ diff -r cd083843b67a pypy/translator/gensupp.py
else: else:
ofs = sys.maxint ofs = sys.maxint
# then we order by input variable name or value # then we order by input variable name or value
diff -r cd083843b67a pypy/translator/interactive.py diff -up pypy-1.5-src/pypy/translator/interactive.py.more-readable-c-code pypy-1.5-src/pypy/translator/interactive.py
--- a/pypy/translator/interactive.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/translator/interactive.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/translator/interactive.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/translator/interactive.py 2011-05-02 14:28:33.946161001 -0400
@@ -138,7 +138,7 @@ @@ -138,7 +138,7 @@ class Translation(object):
def source_c(self, argtypes=None, **kwds): def source_c(self, argtypes=None, **kwds):
self.update_options(argtypes, kwds) self.update_options(argtypes, kwds)
self.ensure_backend('c') self.ensure_backend('c')
@ -669,10 +667,10 @@ diff -r cd083843b67a pypy/translator/interactive.py
def source_cl(self, argtypes=None, **kwds): def source_cl(self, argtypes=None, **kwds):
self.update_options(argtypes, kwds) self.update_options(argtypes, kwds)
diff -r cd083843b67a pypy/translator/llsupport/wrapper.py diff -up pypy-1.5-src/pypy/translator/llsupport/wrapper.py.more-readable-c-code pypy-1.5-src/pypy/translator/llsupport/wrapper.py
--- a/pypy/translator/llsupport/wrapper.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/translator/llsupport/wrapper.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/translator/llsupport/wrapper.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/translator/llsupport/wrapper.py 2011-05-02 14:28:33.946161001 -0400
@@ -59,6 +59,8 @@ @@ -59,6 +59,8 @@ def new_wrapper(func, translator, newnam
# "return result" # "return result"
block = Block(wrapper_inputargs) block = Block(wrapper_inputargs)
wgraph = FunctionGraph('pyfn_' + (newname or func.func_name), block) wgraph = FunctionGraph('pyfn_' + (newname or func.func_name), block)
@ -681,10 +679,10 @@ diff -r cd083843b67a pypy/translator/llsupport/wrapper.py
translator.update_call_graph(wgraph, graph, object()) translator.update_call_graph(wgraph, graph, object())
translator.graphs.append(wgraph) translator.graphs.append(wgraph)
block.operations[:] = newops block.operations[:] = newops
diff -r cd083843b67a pypy/translator/simplify.py diff -up pypy-1.5-src/pypy/translator/simplify.py.more-readable-c-code pypy-1.5-src/pypy/translator/simplify.py
--- a/pypy/translator/simplify.py Mon Dec 20 17:17:45 2010 +0100 --- pypy-1.5-src/pypy/translator/simplify.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400
+++ b/pypy/translator/simplify.py Wed Jan 05 16:14:35 2011 -0500 +++ pypy-1.5-src/pypy/translator/simplify.py 2011-05-02 14:28:33.952161001 -0400
@@ -294,7 +294,7 @@ @@ -298,7 +298,7 @@ def join_blocks(graph):
return renaming.get(v, v) return renaming.get(v, v)
def rename_op(op): def rename_op(op):
args = [rename(a) for a in op.args] args = [rename(a) for a in op.args]

312
pypy.spec
View File

@ -1,6 +1,6 @@
Name: pypy Name: pypy
Version: 1.4.1 Version: 1.5
Release: 10%{?dist} Release: 1%{?dist}
Summary: Python implementation with a Just-In-Time compiler Summary: Python implementation with a Just-In-Time compiler
Group: Development/Languages Group: Development/Languages
@ -105,7 +105,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%global verbose_logs 0 %global verbose_logs 0
%global pypyprefix %{_libdir}/pypy-%{version} %global pypyprefix %{_libdir}/pypy-%{version}
%global pylibver 2.5.2 %global pylibver 2.7
# We refer to this subdir of the source tree in a few places during the build: # We refer to this subdir of the source tree in a few places during the build:
%global goal_dir pypy/translator/goal %global goal_dir pypy/translator/goal
@ -120,7 +120,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: http://pypy.org/download/pypy-%{version}-src.tar.bz2 Source0: http://pypy.org/download/pypy-%{version}-src.tar.bz2
# Edit a translator file for linux in order to configure our cflags and dynamic libffi # Edit a translator file for linux in order to configure our cflags and dynamic libffi
Patch0: pypy-1.4-config.patch Patch0: pypy-1.5-config.patch
# By default, if built at a tty, the translation process renders a Mandelbrot # By default, if built at a tty, the translation process renders a Mandelbrot
# set to indicate progress. # set to indicate progress.
@ -150,7 +150,7 @@ Patch3: pypy-1.4.1-add-LIBRARY_INSTALLATION_PATH.patch
# http://codespeak.net/pipermail/pypy-dev/2010q4/006532.html # http://codespeak.net/pipermail/pypy-dev/2010q4/006532.html
# TODO: get this into the upstream bug tracker, and finish inlining # TODO: get this into the upstream bug tracker, and finish inlining
# support (rhbz#666963) # support (rhbz#666963)
Patch4: pypy-1.4.1-more-readable-c-code.patch Patch4: pypy-1.5-more-readable-c-code.patch
# Build-time requirements: # Build-time requirements:
@ -584,7 +584,7 @@ mkdir -p %{buildroot}/%{pypyprefix}/site-packages
# interface going forward, so let's just mimic upstream for now. # interface going forward, so let's just mimic upstream for now.
%global pypy_include_dir %{pypyprefix}/include %global pypy_include_dir %{pypyprefix}/include
mkdir -p %{buildroot}/%{pypy_include_dir} mkdir -p %{buildroot}/%{pypy_include_dir}
cp include/*.h include/*.inl %{buildroot}/%{pypy_include_dir} cp include/*.h %{buildroot}/%{pypy_include_dir}
# Capture the RPython source code files from the build within the debuginfo # Capture the RPython source code files from the build within the debuginfo
@ -698,6 +698,25 @@ CheckPyPy() {
# seems to hang on this test, within test_line_terminator # seems to hang on this test, within test_line_terminator
SkipTest test_asynchat SkipTest test_asynchat
# test_audioop:
# test test_audioop crashed -- <type 'exceptions.ImportError'>: No module named audioop
# Traceback (most recent call last):
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/regrtest.py", line 874, in runtest_inner
# the_package = __import__(abstest, globals(), locals(), [])
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_audioop.py", line 1, in <module>
# import audioop
# ImportError: No module named audioop
SkipTest test_audioop
# test_capi:
# RPython traceback:
# RPython traceback:
# File "implement.c", line 243013, in _PyObject_New
# File "implement_1.c", line 31707, in _PyObject_NewVar
# File "implement.c", line 217060, in from_ref
# Fatal RPython error: AssertionError
SkipTest test_capi
# test_compiler: # test_compiler:
# 4 errors out of 13: # 4 errors out of 13:
# testSourceCodeEncodingsError # testSourceCodeEncodingsError
@ -710,10 +729,102 @@ CheckPyPy() {
# failures=17, errors=20, out of 132 tests # failures=17, errors=20, out of 132 tests
SkipTest test_ctypes SkipTest test_ctypes
# test_distutils:
# Warning -- os.environ was modified by test_distutils
# test test_distutils failed -- multiple errors occurred; run in verbose mode for details
SkipTest test_distutils
# test_frozen: # test_frozen:
# TestFailed: import __hello__ failed:No module named __hello__ # TestFailed: import __hello__ failed:No module named __hello__
SkipTest test_frozen SkipTest test_frozen
# test_gc:
# test test_gc crashed -- <type 'exceptions.AttributeError'>: 'module' object has no attribute 'get_debug'
SkipTest test_gc
# test_gdb:
# test test_gdb crashed -- <type 'exceptions.KeyError'>: 'PY_CFLAGS'
SkipTest test_gdb
# test_generators:
# **********************************************************************
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_generators.py", line ?, in test.test_generators.__test__.coroutine
# Failed example:
# del g; gc_collect()
# Expected:
# exiting
# Got nothing
# **********************************************************************
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_generators.py", line ?, in test.test_generators.__test__.coroutine
# Failed example:
# del g; gc_collect()
# Expected:
# exiting
# Got nothing
# **********************************************************************
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_generators.py", line ?, in test.test_generators.__test__.coroutine
# Failed example:
# del g; gc_collect()
# Expected:
# finally
# Got nothing
# **********************************************************************
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_generators.py", line ?, in test.test_generators.__test__.coroutine
# Failed example:
# sys.stderr.getvalue().startswith(
# "Exception RuntimeError: 'generator ignored GeneratorExit' in "
# )
# Expected:
# True
# Got:
# False
# **********************************************************************
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_generators.py", line ?, in test.test_generators.__test__.refleaks
# Failed example:
# try:
# sys.stderr = StringIO.StringIO()
# class Leaker:
# def __del__(self):
# raise RuntimeError
# l = Leaker()
# del l
# gc_collect()
# err = sys.stderr.getvalue().strip()
# err.startswith(
# "Exception RuntimeError: RuntimeError() in "
# )
# err.endswith("> ignored")
# len(err.splitlines())
# finally:
# sys.stderr = old
# Expected:
# True
# True
# 1
# Got:
# False
# False
# 0
# **********************************************************************
# 2 items had failures:
# 4 of 107 in test.test_generators.__test__.coroutine
# 1 of 11 in test.test_generators.__test__.refleaks
# ***Test Failed*** 5 failures.
# test test_generators failed -- 5 of 294 doctests failed
SkipTest test_generators
# test_getargs2:
# test test_getargs2 failed -- multiple errors occurred; run in verbose mode for details
SkipTest test_getargs2
# test_hotshot:
# test test_hotshot crashed -- <type 'exceptions.ImportError'>: No module named _hotshot
SkipTest test_hotshot
# test_io:
# test test_io failed -- multiple errors occurred; run in verbose mode for details
SkipTest test_io
# test_ioctl: # test_ioctl:
# Failing in Koji with dist-f15 with: # Failing in Koji with dist-f15 with:
# ====================================================================== # ======================================================================
@ -737,6 +848,23 @@ CheckPyPy() {
# 24 failures out of 25, apparently all due to TypeError # 24 failures out of 25, apparently all due to TypeError
SkipTest test_iterlen SkipTest test_iterlen
# test_multiprocessing:
# test test_multiprocessing failed -- multiple errors occurred; run in verbose mode for details
SkipTest test_multiprocessing
# test_module:
# test test_module failed -- Traceback (most recent call last):
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_module.py", line 81, in test_clear_dict_in_ref_cycle
# self.assertEqual(destroyed, [1])
# AssertionError: Lists differ: [] != [1]
# Second list contains 1 additional elements.
# First extra element 0:
# 1
# - []
# + [1]
# ? +
SkipTest test_module
# test_parser: # test_parser:
# 12 failures out of 15 # 12 failures out of 15
SkipTest test_parser SkipTest test_parser
@ -746,6 +874,44 @@ CheckPyPy() {
# test test_platform failed -- errors occurred in test.test_platform.PlatformTest # test test_platform failed -- errors occurred in test.test_platform.PlatformTest
SkipTest test_platform SkipTest test_platform
# test_posix:
# test test_posix failed -- Traceback (most recent call last):
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_posix.py", line 361, in test_getcwd_long_pathnames
# _create_and_do_getcwd(dirname)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_posix.py", line 351, in _create_and_do_getcwd
# _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_posix.py", line 351, in _create_and_do_getcwd
# _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
# [...repeats...]
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_posix.py", line 351, in _create_and_do_getcwd
# _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_posix.py", line 356, in _create_and_do_getcwd
# self.assertEqual(e.errno, expected_errno)
# AssertionError: 36 != 34
SkipTest test_posix
# test_readline:
# test test_readline failed -- Traceback (most recent call last):
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_readline.py", line 16, in testHistoryUpdates
# readline.clear_history()
# File "/builddir/build/BUILD/pypy-1.5-src/lib_pypy/pyrepl/readline.py", line 277, in clear_history
# del self.get_reader().history[:]
# File "/builddir/build/BUILD/pypy-1.5-src/lib_pypy/pyrepl/readline.py", line 186, in get_reader
# console = UnixConsole(self.f_in, self.f_out, encoding=ENCODING)
# File "/builddir/build/BUILD/pypy-1.5-src/lib_pypy/pyrepl/unix_console.py", line 103, in __init__
# self._clear = _my_getstr("clear")
# File "/builddir/build/BUILD/pypy-1.5-src/lib_pypy/pyrepl/unix_console.py", line 45, in _my_getstr
# "terminal doesn't have the required '%s' capability"%cap
# InvalidTerminal: terminal doesn't have the required 'clear' capability
SkipTest test_readline
# test_scope:
# test test_scope failed -- Traceback (most recent call last):
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_scope.py", line 437, in testLeaks
# self.assertEqual(Foo.count, 0)
# AssertionError: 100 != 0
SkipTest test_scope
# test_socket: # test_socket:
# testSockName can fail in Koji with: # testSockName can fail in Koji with:
# my_ip_addr = socket.gethostbyname(socket.gethostname()) # my_ip_addr = socket.gethostbyname(socket.gethostname())
@ -761,10 +927,138 @@ CheckPyPy() {
# ProgrammingError: Incomplete statement '' # ProgrammingError: Incomplete statement ''
SkipTest test_sqlite SkipTest test_sqlite
# test_strop:
# test test_strop crashed -- <type 'exceptions.ImportError'>: No module named strop
SkipTest test_strop
# test_structmembers:
# test test_structmembers failed -- multiple errors occurred; run in verbose mode for details
SkipTest test_structmembers
# test_subprocess:
# debug: WARNING: library path not found, using compiled-in sys.path and sys.prefix will be unset
# 'import site' failed
# .
# this bit of output is from a test of stdout in a different process ...
# /builddir/build/BUILD/pypy-1.5-src/lib_pypy/ctypes_support.py:26: RuntimeWarning: C function without declared arguments called
# return standard_c_lib.__errno_location()
# debug: WARNING: library path not found, using compiled-in sys.path and sys.prefix will be unset
# 'import site' failed
# .
# this bit of output is from a test of stdout in a different process ...
# test test_subprocess failed -- multiple errors occurred; run in verbose mode for details
SkipTest test_subprocess
# test_symtable:
# test test_symtable crashed -- <type 'exceptions.ImportError'>: No module named _symtable
SkipTest test_symtable
# test_sys_settrace:
# test test_sys_settrace failed -- Traceback (most recent call last):
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_sys_settrace.py", line 334, in test_13_genexp
# self.run_test(generator_example)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_sys_settrace.py", line 280, in run_test
# self.run_and_compare(func, func.events)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_sys_settrace.py", line 277, in run_and_compare
# tracer.events, events)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_sys_settrace.py", line 269, in compare_events
# [str(x) for x in events])))
# AssertionError: events did not match expectation:
# (0, 'call')
# (2, 'line')
# (-6, 'call')
# (-5, 'line')
# (-4, 'line')
# (-4, 'return')
# - (-4, 'call')
# - (-4, 'exception')
# - (-1, 'line')
# - (-1, 'return')
# (5, 'line')
# (6, 'line')
# (5, 'line')
# (6, 'line')
# (5, 'line')
# (6, 'line')
# (5, 'line')
# (6, 'line')
# (5, 'line')
# (6, 'line')
# (5, 'line')
# (6, 'line')
# (5, 'line')
# (6, 'line')
# (5, 'line')
# (6, 'line')
# (5, 'line')
# (6, 'line')
# (5, 'line')
# (6, 'line')
# (5, 'line')
# (5, 'return')
SkipTest test_sys_settrace
# test_tempfile:
# test test_tempfile failed -- multiple errors occurred; run in verbose mode for details
SkipTest test_tempfile
# test_thread
# Koji build appears to hang here
SkipTest test_thread
# test_traceback: # test_traceback:
# works when run standalone; failures seen when run as part of a suite # works when run standalone; failures seen when run as part of a suite
SkipTest test_traceback SkipTest test_traceback
# test_uuid:
# ======================================================================
# ERROR: test_ifconfig_getnode (test.test_uuid.TestUUID)
# ----------------------------------------------------------------------
# Traceback (most recent call last):
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_uuid.py", line 306, in test_ifconfig_getnode
# node = uuid._ifconfig_getnode()
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/uuid.py", line 326, in _ifconfig_getnode
# ip_addr = socket.gethostbyname(socket.gethostname())
# gaierror: [Errno -3] Temporary failure in name resolution
# ----------------------------------------------------------------------
# Ran 14 tests in 0.369s
# FAILED (errors=1)
SkipTest test_uuid
# test_zipimport_support:
# ======================================================================
# ERROR: test_doctest_main_issue4197 (test.test_zipimport_support.ZipSupportTests)
# ----------------------------------------------------------------------
# Traceback (most recent call last):
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_zipimport_support.py", line 194, in test_doctest_main_issue4197
# exit_code, data = run_python(script_name)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/script_helper.py", line 80, in run_python
# p = spawn_python(*args, **kwargs)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/script_helper.py", line 66, in spawn_python
# **kwargs)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/subprocess.py", line 672, in __init__
# errread, errwrite)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/subprocess.py", line 1206, in _execute_child
# raise child_exception
# OSError: [Errno 13] Permission denied
# ======================================================================
# ERROR: test_pdb_issue4201 (test.test_zipimport_support.ZipSupportTests)
# ----------------------------------------------------------------------
# Traceback (most recent call last):
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_zipimport_support.py", line 221, in test_pdb_issue4201
# p = spawn_python(script_name)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/script_helper.py", line 66, in spawn_python
# **kwargs)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/subprocess.py", line 672, in __init__
# errread, errwrite)
# File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/subprocess.py", line 1206, in _execute_child
# raise child_exception
# OSError: [Errno 13] Permission denied
# ----------------------------------------------------------------------
# Ran 4 tests in 0.726s
# FAILED (errors=2)
SkipTest test_zipimport_support
# test_zlib: # test_zlib:
# failure seen in Koji, not sure of reason why: # failure seen in Koji, not sure of reason why:
# test test_zlib failed -- Traceback (most recent call last): # test test_zlib failed -- Traceback (most recent call last):
@ -832,6 +1126,8 @@ rm -rf $RPM_BUILD_ROOT
%dir %{pypyprefix} %dir %{pypyprefix}
%dir %{pypyprefix}/lib-python %dir %{pypyprefix}/lib-python
%{pypyprefix}/lib-python/TODO
%{pypyprefix}/lib-python/stdlib-version.txt
%{pypyprefix}/lib-python/%{pylibver}/ %{pypyprefix}/lib-python/%{pylibver}/
%{pypyprefix}/lib-python/modified-%{pylibver}/ %{pypyprefix}/lib-python/modified-%{pylibver}/
%{pypyprefix}/lib-python/conftest.py* %{pypyprefix}/lib-python/conftest.py*
@ -847,7 +1143,6 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{pypy_include_dir} %dir %{pypy_include_dir}
%{pypy_include_dir}/*.h %{pypy_include_dir}/*.h
%{pypy_include_dir}/*.inl
%if 0%{with_stackless} %if 0%{with_stackless}
%files stackless %files stackless
@ -858,6 +1153,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog %changelog
* Mon May 2 2011 David Malcolm <dmalcolm@redhat.com> - 1.5-1
- 1.5
* Wed Apr 20 2011 David Malcolm <dmalcolm@redhat.com> - 1.4.1-10 * Wed Apr 20 2011 David Malcolm <dmalcolm@redhat.com> - 1.4.1-10
- build a /usr/bin/pypy (but without the JIT compiler) on architectures that - build a /usr/bin/pypy (but without the JIT compiler) on architectures that
don't support the JIT, so that they do at least have something that runs don't support the JIT, so that they do at least have something that runs

View File

@ -1 +1 @@
ebbbb156b1eb842e9e65d909ed5f9f6d pypy-1.4.1-src.tar.bz2 cb9ada2c50666318c3a2863da1fbe487 pypy-1.5-src.tar.bz2