* do the left.equals(right) check before might_have_sideeffects, because

left.equals(right) is usually faster

git-svn-id: trunk@36033 -
This commit is contained in:
nickysn 2017-05-01 12:57:15 +00:00
parent 056e742684
commit 6d589f415b

View File

@ -976,8 +976,7 @@ implementation
side effects, because this can change the result (e.g., in an
or-node that calls the same function twice and first returns
false and then true because of a global state change }
if not might_have_sideeffects(left) and
left.isequal(right) then
if left.isequal(right) and not might_have_sideeffects(left) then
begin
case nodetype of
andn,orn:
@ -1016,8 +1015,7 @@ implementation
if is_integer(left.resultdef) and is_integer(right.resultdef) then
begin
if not might_have_sideeffects(left) and
left.isequal(right) then
if left.isequal(right) and not might_have_sideeffects(left) then
begin
case nodetype of
andn,orn: