Commit Graph

6521 Commits

Author SHA1 Message Date
Miss Islington (bot)
1099e343e8 bpo-37233: optimize method_vectorcall in case of totalargs == 0 (GH-14550)
(cherry picked from commit 53c2143440)

Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be>
2019-07-03 06:06:38 -07:00
Inada Naoki
c7570d402e [3.8] bpo-37233: use _PY_FASTCALL_SMALL_STACK in method_vectorcall (GH-13974)
(cherry picked from commit 988e6aa322)

Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be>
2019-07-03 21:46:07 +09:00
Inada Naoki
d4c664736e Stop using Argument Clinic for dict_pop (GH-13935) 2019-07-02 13:32:43 +02:00
Miss Islington (bot)
cb083f7cdf bpo-37221: Add PyCode_NewWithPosOnlyArgs to be used internally and set PyCode_New as a compatibility wrapper (GH-13959) (#14505)
Add PyCode_NewEx to be used internally and set PyCode_New as a compatibility wrapper
(cherry picked from commit 4a2edc34a4)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2019-07-01 13:29:14 +02:00
Miss Islington (bot)
5c4ce3e2fa bpo-37417: Fix error handling in bytearray.extend. (GH-14407)
(cherry picked from commit 2a7d596f27)

Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
2019-06-26 13:17:00 -07:00
Miss Islington (bot)
d32594ad27 bpo-24214: Fixed the UTF-8 and UTF-16 incremental decoders. (GH-14304)
* The UTF-8 incremental decoders fails now fast if encounter
  a sequence that can't be handled by the error handler.
* The UTF-16 incremental decoders with the surrogatepass error
  handler decodes now a lone low surrogate with final=False.
(cherry picked from commit 894263ba80)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2019-06-25 02:12:16 -07:00
Miss Islington (bot)
26fe6c3537 bpo-36974: inherit tp_vectorcall_offset unconditionally (GH-13858) (GH-14342)
(cherry picked from commit a8b27e623d)

Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be>
2019-06-25 10:19:16 +02:00
Miss Islington (bot)
988fff5d0e bpo-36922: use Py_TPFLAGS_METHOD_DESCRIPTOR in lookup_maybe_method() (GH-13865)
(cherry picked from commit 2e9954d347)

Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be>
2019-06-17 05:12:42 -07:00
Miss Islington (bot)
f72886a066 bpo-37236: pragma optimize off for _Py_c_quot on Windows arm64 (GH-13983)
(cherry picked from commit ff6bb0aa95)

Co-authored-by: Paul Monson <paulmon@users.noreply.github.com>
2019-06-12 11:27:15 -07:00
Miss Islington (bot)
996e52623a bpo-26219: Fix compiler warning in _PyCode_InitOpcache() (GH-13997) (GH-14000)
Fix MSVC warning:

    objects\codeobject.c(285): warning C4244: '=':
    conversion from 'Py_ssize_t' to 'unsigned char',
    possible loss of data
(cherry picked from commit 376ce9852e)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-12 12:14:43 +02:00
Miss Islington (bot)
583ff84351 bpo-37219: Remove erroneous optimization for differencing an empty set (GH-13965) (GH-13967)
(cherry picked from commit 1f11cf9521)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-06-11 01:41:23 -07:00
Miss Islington (bot)
6e053079ac bpo-37138: fix undefined behaviour with memcpy() on NULL array (GH-13867)
(cherry picked from commit 1f9531764c)

Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be>
2019-06-07 11:25:53 -07:00
Zackery Spytz
dd492d9c35 [3.8] bpo-37170: Fix the cast on error in PyLong_AsUnsignedLongLongMask() (GH-13860) (GH-13891)
(cherry picked from commit dc2476500d)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2019-06-07 16:22:58 +02:00
Victor Stinner
ea9f168957 bpo-26219: Fix compiler warning in _PyCode_InitOpcache() (GH-13809)
Fix this MSVC warning:

    objects\codeobject.c(264): warning C4244: '=':
    conversion from 'Py_ssize_t' to 'unsigned char', possible loss of data
2019-06-04 17:08:24 +02:00
Inada Naoki
91234a1636 bpo-26219: per opcode cache for LOAD_GLOBAL (GH-12884)
This patch implements per opcode cache mechanism, and use it in
only LOAD_GLOBAL opcode.

Based on Yury's opcache3.patch in bpo-26219.
2019-06-03 21:30:58 +09:00
Petr Viktorin
1e375c6269 bpo-36027: Really fix "incompatible pointer type" compiler warning (GH-13761)
Apologies for the earlier hasty attempt.
2019-06-03 02:28:29 +02:00
Jeroen Demeyer
be718c33f0 bpo-36974: add some assertions for PEP 590 (GH-13682) 2019-06-03 01:57:22 +02:00
Petr Viktorin
7f4ae1b2cc bpo-37012: Clean up special cases in PyType_FromSpecWithBases slot assignments (GH-13496)
The main slot assignment loop is now if-else if ladder, making the
control flow clearer.

Based on suggestion by Victor Stinner in:
https://github.com/python/cpython/pull/10304/#issuecomment-491123026
2019-06-03 01:31:12 +02:00
Petr Viktorin
e584cbff1e bpo-36027 bpo-36974: Fix "incompatible pointer type" compiler warnings (GH-13758) 2019-06-03 01:08:14 +02:00
Petr Viktorin
fb9423fd0a bpo-36974: Make tp_call=PyVectorcall_Call work for inherited types (GH-13699)
When inheriting a heap subclass from a vectorcall class that sets
`.tp_call=PyVectorcall_Call` (as recommended in PEP 590), the subclass does
not inherit `_Py_TPFLAGS_HAVE_VECTORCALL`, and thus `PyVectorcall_Call` does
not work for it.

This attempts to solve the issue by:
* always inheriting `tp_vectorcall_offset` unless `tp_call` is overridden
  in the subclass
* inheriting _Py_TPFLAGS_HAVE_VECTORCALL for static types, unless `tp_call`
  is overridden
* making `PyVectorcall_Call` ignore `_Py_TPFLAGS_HAVE_VECTORCALL`

This means it'll be ever more important to only call `PyVectorcall_Call`
on classes that support vectorcall. In `PyVectorcall_Call`'s intended role
as `tp_call` filler, that's not a problem.
2019-06-02 23:52:20 +02:00
Pablo Galindo
3caf4de6f0 Call PyObject_GC_UnTrack in structseq dealloc (GH-13751) 2019-06-02 21:52:49 +01:00
Pablo Galindo
7ffcf848df bpo-37126: Allow structseq objects to be tracked by the GC (GH-13729) 2019-06-02 15:45:13 +01:00
Mark Dickinson
c52996785a bpo-36027: Extend three-argument pow to negative second argument (GH-13266) 2019-06-02 10:24:06 +01:00
Serhiy Storchaka
bdbad71b9d bpo-20092. Use __index__ in constructors of int, float and complex. (GH-13108) 2019-06-02 00:05:48 +03:00
Pablo Galindo
3b57f50efc bpo-36842: Pass positional only parameters to code_new audit hook (GH-13707) 2019-06-01 21:18:48 +01:00