| Index: src/ia32/codegen-ia32.cc
|
| ===================================================================
|
| --- src/ia32/codegen-ia32.cc (revision 1978)
|
| +++ src/ia32/codegen-ia32.cc (working copy)
|
| @@ -113,7 +113,16 @@
|
| // Adjust for function-level loop nesting.
|
| loop_nesting_ += fun->loop_nesting();
|
|
|
| - {
|
| +#ifdef DEBUG
|
| + if (strlen(FLAG_stop_at) > 0 &&
|
| + fun->name()->IsEqualTo(CStrVector(FLAG_stop_at))) {
|
| + frame_->SpillAll();
|
| + __ int3();
|
| + }
|
| +#endif
|
| +
|
| + // New scope to get automatic timing calculation.
|
| + { // NOLINT
|
| CodeGenState state(this);
|
|
|
| // Entry:
|
| @@ -125,14 +134,6 @@
|
| allocator_->Initialize();
|
| frame_->Enter();
|
|
|
| -#ifdef DEBUG
|
| - if (strlen(FLAG_stop_at) > 0 &&
|
| - fun->name()->IsEqualTo(CStrVector(FLAG_stop_at))) {
|
| - frame_->SpillAll();
|
| - __ int3();
|
| - }
|
| -#endif
|
| -
|
| // Allocate space for locals and initialize them.
|
| frame_->AllocateStackSlots(scope_->num_stack_slots());
|
| // Initialize the function return target after the locals are set
|
| @@ -4876,9 +4877,9 @@
|
| // successfully allocate a temporary byte register.
|
| if (tmp.is_valid()) {
|
| __ setcc(overflow, tmp.reg());
|
| - __ or_(Operand(value.reg()), tmp.reg());
|
| + __ or_(Operand(tmp.reg()), value.reg());
|
| + __ test(tmp.reg(), Immediate(kSmiTagMask));
|
| tmp.Unuse();
|
| - __ test(value.reg(), Immediate(kSmiTagMask));
|
| deferred->enter()->Branch(not_zero, &value, not_taken);
|
| } else { // Otherwise we test separately for overflow and smi check.
|
| deferred->enter()->Branch(overflow, &value, not_taken);
|
|
|