R=jkummerow@chromium.org
TEST=mjsunit/math-min-max --extra-flags="--gc-interval=500"
Review URL: https://codereview.chromium.org/
17580019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
const char* reason) {
Representation r = representation();
if (new_rep.is_more_general_than(r)) {
- if (CheckFlag(kCannotBeTagged) && r.IsTagged()) return;
+ if (CheckFlag(kCannotBeTagged) && new_rep.IsTagged()) return;
if (FLAG_trace_representation) {
PrintF("Changing #%d %s representation %s -> %s based on %s\n",
id(), Mnemonic(), r.Mnemonic(), new_rep.Mnemonic(), reason);
Representation representation() const { return representation_; }
void ChangeRepresentation(Representation r) {
ASSERT(CheckFlag(kFlexibleRepresentation));
+ ASSERT(!CheckFlag(kCannotBeTagged) || !r.IsTagged());
RepresentationChanged(r);
representation_ = r;
- if (r.IsTagged() ||
- (r.IsDouble() && CheckFlag(kCannotBeTagged))) {
+ if (r.IsTagged()) {
// Tagged is the bottom of the lattice, don't go any further.
ClearFlag(kFlexibleRepresentation);
}
}
-void HOptimizedGraphBuilder::AddPhi(HPhi* instr) {
- ASSERT(current_block() != NULL);
- current_block()->AddPhi(instr);
-}
-
-
void HOptimizedGraphBuilder::PushAndAdd(HInstruction* instr) {
Push(instr);
AddInstruction(instr);
// Visit a list of expressions from left to right, each in a value context.
void VisitExpressions(ZoneList<Expression*>* exprs);
- void AddPhi(HPhi* phi);
-
void PushAndAdd(HInstruction* instr);
// Remove the arguments from the bailout environment and emit instructions