extern int _Py_uop_sym_truthiness(JitOptContext *ctx, JitOptRef sym);
extern PyTypeObject *_Py_uop_sym_get_type(JitOptRef sym);
extern JitOptRef _Py_uop_sym_new_tuple(JitOptContext *ctx, int size, JitOptRef *args);
-extern JitOptRef _Py_uop_sym_tuple_getitem(JitOptContext *ctx, JitOptRef sym, int item);
-extern int _Py_uop_sym_tuple_length(JitOptRef sym);
+extern JitOptRef _Py_uop_sym_tuple_getitem(JitOptContext *ctx, JitOptRef sym, Py_ssize_t item);
+extern Py_ssize_t _Py_uop_sym_tuple_length(JitOptRef sym);
extern JitOptRef _Py_uop_sym_new_truthiness(JitOptContext *ctx, JitOptRef value, bool truthy);
extern bool _Py_uop_sym_is_compact_int(JitOptRef sym);
extern JitOptRef _Py_uop_sym_new_compact_int(JitOptContext *ctx);
--- /dev/null
+Suppress build warnings when build on Windows with
+``--experimental-jit-interpreter``.
assert(next_instr->op.code == STORE_FAST);
next_oparg = next_instr->op.arg;
#else
- next_oparg = CURRENT_OPERAND0();
+ next_oparg = (int)CURRENT_OPERAND0();
#endif
_PyStackRef *target_local = &GETLOCAL(next_oparg);
assert(PyUnicode_CheckExact(left_o));
if (frame->lltrace >= 2) {
printf("SIDE EXIT: [UOp ");
_PyUOpPrint(&next_uop[-1]);
- printf(", exit %lu, temp %d, target %d -> %s]\n",
+ printf(", exit %tu, temp %d, target %d -> %s]\n",
exit - current_executor->exits, exit->temperature.value_and_backoff,
(int)(target - _PyFrame_GetBytecode(frame)),
_PyOpcode_OpName[target->op.code]);
assert(next_instr->op.code == STORE_FAST);
next_oparg = next_instr->op.arg;
#else
- next_oparg = CURRENT_OPERAND0();
+ next_oparg = (int)CURRENT_OPERAND0();
#endif
_PyStackRef *target_local = &GETLOCAL(next_oparg);
assert(PyUnicode_CheckExact(left_o));
_PyFrame_SetStackPointer(frame, stack_pointer);
printf("SIDE EXIT: [UOp ");
_PyUOpPrint(&next_uop[-1]);
- printf(", exit %lu, temp %d, target %d -> %s]\n",
+ printf(", exit %tu, temp %d, target %d -> %s]\n",
exit - current_executor->exits, exit->temperature.value_and_backoff,
(int)(target - _PyFrame_GetBytecode(frame)),
_PyOpcode_OpName[target->op.code]);
assert(next_instr->op.code == STORE_FAST);
next_oparg = next_instr->op.arg;
#else
- next_oparg = CURRENT_OPERAND0();
+ next_oparg = (int)CURRENT_OPERAND0();
#endif
_PyStackRef *target_local = &GETLOCAL(next_oparg);
assert(PyUnicode_CheckExact(left_o));
opcode = buffer[pc].opcode = op_without_pop[opcode];
if (op_without_pop[last->opcode]) {
opcode = last->opcode;
- pc = last - buffer;
+ pc = (int)(last - buffer);
}
}
else if (last->opcode == _PUSH_NULL) {
assert(PyLong_CheckExact(sym_get_const(ctx, sub_st)));
long index = PyLong_AsLong(sym_get_const(ctx, sub_st));
assert(index >= 0);
- int tuple_length = sym_tuple_length(tuple_st);
+ Py_ssize_t tuple_length = sym_tuple_length(tuple_st);
if (tuple_length == -1) {
// Unknown length
res = sym_new_not_null(ctx);
op(_CALL_LEN, (callable, null, arg -- res)) {
res = sym_new_type(ctx, &PyLong_Type);
- int tuple_length = sym_tuple_length(arg);
+ Py_ssize_t tuple_length = sym_tuple_length(arg);
if (tuple_length >= 0) {
- PyObject *temp = PyLong_FromLong(tuple_length);
+ PyObject *temp = PyLong_FromSsize_t(tuple_length);
if (temp == NULL) {
goto error;
}
}
op(_GET_LEN, (obj -- obj, len)) {
- int tuple_length = sym_tuple_length(obj);
+ Py_ssize_t tuple_length = sym_tuple_length(obj);
if (tuple_length == -1) {
len = sym_new_type(ctx, &PyLong_Type);
}
else {
assert(tuple_length >= 0);
- PyObject *temp = PyLong_FromLong(tuple_length);
+ PyObject *temp = PyLong_FromSsize_t(tuple_length);
if (temp == NULL) {
goto error;
}
assert(PyLong_CheckExact(sym_get_const(ctx, sub_st)));
long index = PyLong_AsLong(sym_get_const(ctx, sub_st));
assert(index >= 0);
- int tuple_length = sym_tuple_length(tuple_st);
+ Py_ssize_t tuple_length = sym_tuple_length(tuple_st);
if (tuple_length == -1) {
res = sym_new_not_null(ctx);
}
JitOptRef obj;
JitOptRef len;
obj = stack_pointer[-1];
- int tuple_length = sym_tuple_length(obj);
+ Py_ssize_t tuple_length = sym_tuple_length(obj);
if (tuple_length == -1) {
len = sym_new_type(ctx, &PyLong_Type);
}
else {
assert(tuple_length >= 0);
- PyObject *temp = PyLong_FromLong(tuple_length);
+ PyObject *temp = PyLong_FromSsize_t(tuple_length);
if (temp == NULL) {
goto error;
}
JitOptRef res;
arg = stack_pointer[-1];
res = sym_new_type(ctx, &PyLong_Type);
- int tuple_length = sym_tuple_length(arg);
+ Py_ssize_t tuple_length = sym_tuple_length(arg);
if (tuple_length >= 0) {
- PyObject *temp = PyLong_FromLong(tuple_length);
+ PyObject *temp = PyLong_FromSsize_t(tuple_length);
if (temp == NULL) {
goto error;
}
}
JitOptRef
-_Py_uop_sym_tuple_getitem(JitOptContext *ctx, JitOptRef ref, int item)
+_Py_uop_sym_tuple_getitem(JitOptContext *ctx, JitOptRef ref, Py_ssize_t item)
{
JitOptSymbol *sym = PyJitRef_Unwrap(ref);
assert(item >= 0);
return _Py_uop_sym_new_not_null(ctx);
}
-int
+Py_ssize_t
_Py_uop_sym_tuple_length(JitOptRef ref)
{
JitOptSymbol *sym = PyJitRef_Unwrap(ref);