From: Nadeshiko Manju Date: Sun, 27 Apr 2025 12:30:28 +0000 (+0800) Subject: gh-131798: JIT - Use `sym_new_type` instead of `sym_new_not_null` for _BUILD_STRING... X-Git-Tag: v3.14.0b1~260 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=614d79231d1e60d31b9452ea2afbc2a7d2f0034b;p=thirdparty%2FPython%2Fcpython.git gh-131798: JIT - Use `sym_new_type` instead of `sym_new_not_null` for _BUILD_STRING, _BUILD_SET (GH-132564) Signed-off-by: Manjusaka --- diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-04-26-18-43-31.gh-issue-131798.FsIypo.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-04-26-18-43-31.gh-issue-131798.FsIypo.rst new file mode 100644 index 000000000000..a252d2b69fc0 --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2025-04-26-18-43-31.gh-issue-131798.FsIypo.rst @@ -0,0 +1,2 @@ +Use ``sym_new_type`` instead of ``sym_new_not_null`` for _BUILD_STRING, +_BUILD_SET diff --git a/Python/optimizer_bytecodes.c b/Python/optimizer_bytecodes.c index f862c9c8c6a8..567caad22554 100644 --- a/Python/optimizer_bytecodes.c +++ b/Python/optimizer_bytecodes.c @@ -977,6 +977,14 @@ dummy_func(void) { map = sym_new_type(ctx, &PyDict_Type); } + op(_BUILD_STRING, (values[oparg] -- str)) { + str = sym_new_type(ctx, &PyUnicode_Type); + } + + op(_BUILD_SET, (values[oparg] -- set)) { + set = sym_new_type(ctx, &PySet_Type); + } + op(_UNPACK_SEQUENCE_TWO_TUPLE, (seq -- val1, val0)) { val0 = sym_tuple_getitem(ctx, seq, 0); val1 = sym_tuple_getitem(ctx, seq, 1); diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h index c92b036eb564..679240b6efa3 100644 --- a/Python/optimizer_cases.c.h +++ b/Python/optimizer_cases.c.h @@ -1032,7 +1032,7 @@ case _BUILD_STRING: { JitOptSymbol *str; - str = sym_new_not_null(ctx); + str = sym_new_type(ctx, &PyUnicode_Type); stack_pointer[-oparg] = str; stack_pointer += 1 - oparg; assert(WITHIN_STACK_BOUNDS()); @@ -1073,7 +1073,7 @@ case _BUILD_SET: { JitOptSymbol *set; - set = sym_new_not_null(ctx); + set = sym_new_type(ctx, &PySet_Type); stack_pointer[-oparg] = set; stack_pointer += 1 - oparg; assert(WITHIN_STACK_BOUNDS());