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.

Reply via email to