Skip to content

Commit 2bfd9ff

Browse files
committed
Fix the fix
1 parent 3e6ee9e commit 2bfd9ff

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

src/staticdata_utils.c

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -977,28 +977,30 @@ static jl_array_t *jl_verify_methods(jl_array_t *edges, jl_array_t *maxvalids)
977977
assert(jl_is_method_instance(caller) && jl_is_method(caller->def.method));
978978
jl_array_t *callee_ids = (jl_array_t*)jl_array_ptr_ref(edges, 2 * i + 1);
979979
assert(jl_typetagis((jl_value_t*)callee_ids, jl_array_int32_type));
980-
if (callee_ids == NULL || jl_array_len(callee_ids) == 0) {
980+
if (callee_ids == NULL) {
981981
// serializing the edges had failed
982982
maxvalids2_data[i] = 0;
983983
}
984984
else {
985985
int32_t *idxs = (int32_t*)jl_array_data(callee_ids);
986986
size_t j;
987987
maxvalids2_data[i] = ~(size_t)0;
988-
for (j = 0; j < idxs[0]; j++) {
989-
int32_t idx = idxs[j + 1];
990-
size_t max_valid = ((size_t*)(jl_array_data(maxvalids)))[idx];
991-
if (max_valid != ~(size_t)0 && _jl_debug_method_invalidation) {
992-
jl_array_ptr_1d_push(_jl_debug_method_invalidation, (jl_value_t*)caller);
993-
loctag = jl_cstr_to_string("verify_methods");
994-
jl_array_ptr_1d_push(_jl_debug_method_invalidation, loctag);
995-
loctag = jl_box_int32((int32_t)idx);
996-
jl_array_ptr_1d_push(_jl_debug_method_invalidation, loctag);
988+
if (jl_array_len(callee_ids) > 0) {
989+
for (j = 0; j < idxs[0]; j++) {
990+
int32_t idx = idxs[j + 1];
991+
size_t max_valid = ((size_t*)(jl_array_data(maxvalids)))[idx];
992+
if (max_valid != ~(size_t)0 && _jl_debug_method_invalidation) {
993+
jl_array_ptr_1d_push(_jl_debug_method_invalidation, (jl_value_t*)caller);
994+
loctag = jl_cstr_to_string("verify_methods");
995+
jl_array_ptr_1d_push(_jl_debug_method_invalidation, loctag);
996+
loctag = jl_box_int32((int32_t)idx);
997+
jl_array_ptr_1d_push(_jl_debug_method_invalidation, loctag);
998+
}
999+
if (max_valid < maxvalids2_data[i])
1000+
maxvalids2_data[i] = max_valid;
1001+
if (max_valid == 0)
1002+
break;
9971003
}
998-
if (max_valid < maxvalids2_data[i])
999-
maxvalids2_data[i] = max_valid;
1000-
if (max_valid == 0)
1001-
break;
10021004
}
10031005
}
10041006
//jl_static_show((JL_STREAM*)ios_stderr, (jl_value_t*)caller);

0 commit comments

Comments
 (0)