2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-13 12:22:17 +00:00

Optimize out the extra PUSH_EMPTY/APPEND when evaluating a list. Reduces the number of instructions executed by about 25%. About a 3-5% improvement in overall runtime.

[SVN r75938]
This commit is contained in:
Steven Watanabe
2011-12-14 18:46:50 +00:00
parent 48b922ba48
commit 750a25dda0

View File

@@ -2108,8 +2108,11 @@ static void compile_parse( PARSE * parse, compiler * c, int result_location )
compile_emit( c, INSTR_PUSH_APPEND, 0 );
parse = parse->left;
}
compile_parse( parse->left, c, RESULT_STACK );
compile_emit( c, INSTR_PUSH_APPEND, 0 );
if ( parse->left->type != PARSE_NULL )
{
compile_parse( parse->left, c, RESULT_STACK );
compile_emit( c, INSTR_PUSH_APPEND, 0 );
}
adjust_result( c, RESULT_STACK, result_location );
}
else if ( parse->type == PARSE_EVAL )