Ok, tried applying patch to both 2.6.1 and svn versions: dan-desktop ~/Desktop/python/release26-maint: patch -p1 < threadedceval5.patch patching file Makefile.pre.in Hunk #1 succeeded at 248 (offset 1 line). Hunk #2 succeeded at 578 with fuzz 2 (offset 4 lines). patching file Python/ceval.c Hunk #1 succeeded at 578 (offset -3 lines). Hunk #2 succeeded at 752 (offset -2 lines). Hunk #3 succeeded at 1061 (offset -71 lines). Hunk #4 succeeded at 1119 (offset -71 lines). Hunk #5 succeeded at 1136 (offset -71 lines). Hunk #6 FAILED at 1148. Hunk #7 FAILED at 1263. Hunk #8 FAILED at 1424. ... <more text> 15 out of 50 hunks FAILED -- saving rejects to file Python/ceval.c.rej patching file Python/makeopcodetargets.py patching file Python/opcode_targets.h
Also, the script Python/makeopcodetargets.py exists and runs fine (generates the file Python/opcode_targets.h), but some of the generated opcodes STILL give "undefined" errors. Since it uses a gcc specific extension, perhaps it is not recognizing the labels as constants? Though, I assume the patch would enable it and I AM using gcc after all. 2009/1/8 Padraig Kitterick <[email protected]>: > > You want: > > patch -p1 < threadedceval5.patch > > Padraig > > Daniel Kersten wrote: >> Hrm, thats strange.. it SAYS it was applied correctly.. i think.. >> >> 2009/1/8 Padraig Kitterick <[email protected]>: >> >>> That script is created by the patch, so if you don't see it then the >>> patch hasn't applied correctly. >>> >>> Daniel Kersten wrote: >>> >>>> I did something like: patch -p1 Makefile < threadedceval5.patch >>>> Also, I don't have that script. Where do I get it, I don't see it anywhere. >>>> >>>> It makes sense that they would have used the svn version - I used >>>> 2.6.1 sources found on the python.org download page. I'll try the svn >>>> version tomorrow and see. >>>> >>>> >>>> 2009/1/8 Michael Twomey <[email protected]>: >>>> >>>> >>>>> Also, off the top of my head, I bet these are patches against svn, >>>>> which probably means to need to run autoconf & co to regenerate >>>>> configure and the makefiles. >>>>> >>>>> mick >>>>> >>>>> On Thu, Jan 8, 2009 at 17:11, Padraig Kitterick >>>>> <[email protected]> wrote: >>>>> >>>>> >>>>>> Those labels that are undefined should be generated as part of the make >>>>>> rules that the patch inserts ($(srcdir)/Python/makeopcodetargets.py). >>>>>> How did you apply the patch? >>>>>> >>>>>> Daniel Kersten wrote: >>>>>> >>>>>> >>>>>>> Hi again, >>>>>>> >>>>>>> Has anyone got any experience applying the threaded code patch to >>>>>>> Python 2.6? >>>>>>> http://bugs.python.org/issue4753 >>>>>>> >>>>>>> Apparently it changes the eval loop to uses threaded code instead of >>>>>>> table lookups or something like that and can make the interpreter >>>>>>> execute 10-20% faster on most platforms. Only works in gcc because it >>>>>>> requires gcc's labels as values extension. >>>>>>> >>>>>>> Anyway, I'm trying to get this working and have applied the >>>>>>> threadedceval5.patch patch. I don't really know much about diff/patch, >>>>>>> so maybe I'm doing it wrong.. I'm not sure if I need the other files >>>>>>> or what. The patch seems to have worked fine, but when compiling >>>>>>> Python (2.6.1) I get this error: >>>>>>> >>>>>>> Python/ceval.c: In function 'PyEval_EvalFrameEx': >>>>>>> Python/ceval.c:1057: error: '_Py_TracingPossible' undeclared (first >>>>>>> use in this function) >>>>>>> Python/ceval.c:1057: error: (Each undeclared identifier is reported >>>>>>> only once >>>>>>> Python/ceval.c:1057: error: for each function it appears in.) >>>>>>> Python/opcode_targets.h:149: error: label 'TARGET_MAP_ADD' used but not >>>>>>> defined >>>>>>> Python/opcode_targets.h:148: error: label 'TARGET_SET_ADD' used but not >>>>>>> defined >>>>>>> Python/opcode_targets.h:147: error: label 'TARGET_LIST_APPEND' used >>>>>>> but not defined >>>>>>> Python/opcode_targets.h:136: error: label 'TARGET_MAKE_CLOSURE' used >>>>>>> but not defined >>>>>>> Python/opcode_targets.h:134: error: label 'TARGET_MAKE_FUNCTION' used >>>>>>> but not defined >>>>>>> Python/opcode_targets.h:132: error: label 'TARGET_RAISE_VARARGS' used >>>>>>> but not defined >>>>>>> >>>>>>> followed by more undefined labels. >>>>>>> Python/opcode_targets.h is just a big table of opcodes, the opcodes >>>>>>> being the TARGET_* labels, but they don't seem to be defined any >>>>>>> place. >>>>>>> >>>>>>> Has anyone successfully got this working? If yes, what am I doing wrong? >>>>>>> >>>>>>> Thanks!! >>>>>>> Dan. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>> >>>> >>>> >>> >> >> >> >> > > > > > -- Daniel Kersten. Leveraging dynamic paradigms since the synergies of 1985. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Python Ireland" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.ie/group/pythonireland?hl=en -~----------~----~----~----~------~----~------~--~---
