Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 079423d

Browse files
committedAug 28, 2014
two more builtins needed for escape analysis
1 parent c58ecde commit 079423d

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed
 

‎src/codegen.cpp

+8-2
Original file line numberDiff line numberDiff line change
@@ -1188,9 +1188,12 @@ static void simple_escape_analysis(jl_value_t *expr, bool varesc, bool envesc, j
11881188
varesc = true;
11891189
envesc = true;
11901190
i = 2;
1191-
} else if (ff->fptr == jl_f_typeassert) {
1191+
} else if (ff->fptr == jl_f_typeassert ||
1192+
ff->fptr == jl_f_convert_default) {
1193+
simple_escape_analysis(jl_exprarg(e,1), true, envesc, ctx);
11921194
varesc = true;
1193-
//envesc = envesc;
1195+
envesc = false;
1196+
i = 2;
11941197
}
11951198
else {
11961199
varesc = true;
@@ -1217,6 +1220,9 @@ static void simple_escape_analysis(jl_value_t *expr, bool varesc, bool envesc, j
12171220
envesc = true;
12181221
i = 1;
12191222
}
1223+
else if (e->head == amp_sym) {
1224+
i = 0;
1225+
}
12201226
else if (e->head == line_sym) {
12211227
return;
12221228
}

0 commit comments

Comments
 (0)
Please sign in to comment.