LGTM 2009/8/14 <[email protected]>: > Reviewers: Erik Corry, > > Description: > X64: Remove compound smi+overflow test using cmov. > > Please review this at http://codereview.chromium.org/165525 > > SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ > > Affected files: > M src/x64/codegen-x64.cc > > > Index: src/x64/codegen-x64.cc > =================================================================== > --- src/x64/codegen-x64.cc (revision 2686) > +++ src/x64/codegen-x64.cc (working copy) > @@ -3084,20 +3084,15 @@ > is_increment); > } > > - Result tmp = allocator_->AllocateWithoutSpilling(); > - ASSERT(kSmiTagMask == 1 && kSmiTag == 0); > - __ movl(tmp.reg(), Immediate(kSmiTagMask)); > - // Smi test. > __ movq(kScratchRegister, new_value.reg()); > if (is_increment) { > __ addl(kScratchRegister, Immediate(Smi::FromInt(1))); > } else { > __ subl(kScratchRegister, Immediate(Smi::FromInt(1))); > } > - // deferred->Branch(overflow); > - __ cmovl(overflow, kScratchRegister, tmp.reg()); > - __ testl(kScratchRegister, tmp.reg()); > - tmp.Unuse(); > + // Smi test. > + deferred->Branch(overflow); > + __ testl(kScratchRegister, Immediate(kSmiTagMask)); > deferred->Branch(not_zero); > __ movq(new_value.reg(), kScratchRegister); > > > >
-- Erik Corry, Software Engineer Google Denmark ApS. CVR nr. 28 86 69 84 c/o Philip & Partners, 7 Vognmagergade, P.O. Box 2227, DK-1018 Copenhagen K, Denmark. --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
