Comment #1 on issue 2881 by [email protected]: Code generator still
generates constants even if the inlined into instruction
http://code.google.com/p/v8/issues/detail?id=2881
The issue is dead constant instructions are not eliminated in the DCE phase
and in the code gen phase, double constants are always emitted eagerly.
Currently we have two DCE phases. I think we can safely remove non-live
constant in the last DCE phase. Please see this try-fix commit
https://codereview.chromium.org/23811011/
Actually, I have a question to Danno. I see that you modified the
HConstant::EmitAtUses() function to only eliminate the standard constant
generation when there is OSR. Why? This leads to quite a lot of useless
constant generates in the OSR optimization code. See below
bool HConstant::EmitAtUses() {
ASSERT(IsLinked());
if (block()->graph()->has_osr()) {
return block()->graph()->IsStandardConstant(this);
}
if (IsCell()) return false;
if (representation().IsDouble()) return false;
return true;
}
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.