Skip to content

Commit

Permalink
Correct assertion checking for deleted typemap entry
Browse files Browse the repository at this point in the history
This assertion was added in #27568. However from my understanding
the first part of the assertion is wrong, since that PR added
logic to mark deleted typemap entries as min_world 0, max_world 1.
It seems valid for a typemap entry to be deleted, even if the referenced
(while the reverse does not seem valid).

Fixes #28213
  • Loading branch information
Keno committed Jul 21, 2018
1 parent 383751c commit 1d3c9c8
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions src/dump.c
Original file line number Diff line number Diff line change
Expand Up @@ -1883,8 +1883,7 @@ static jl_value_t *jl_deserialize_typemap_entry(jl_serializer_state *s)
jl_deserialize_struct(s, v, 1);
#ifndef NDEBUG
if (te->func.value && jl_typeis(te->func.value, jl_method_instance_type)) {
assert(((te->func.linfo->max_world == 0 &&
te->func.linfo->min_world == 1) ||
assert(((te->max_world == 0 && te->min_world == 1) ||
(te->func.linfo->max_world >= te->max_world &&
te->func.linfo->min_world <= te->min_world)) &&
"corrupt typemap entry structure");
Expand Down

2 comments on commit 1d3c9c8

@nanosoldier
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Executing the daily benchmark build, I will reply here when finished:

@nanosoldier runbenchmarks(ALL, isdaily = true)

@nanosoldier
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @ararslan

Please sign in to comment.