mirror of
https://github.com/boostorg/build.git
synced 2026-02-13 00:12:11 +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:
@@ -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 )
|
||||
|
||||
Reference in New Issue
Block a user