Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(586)

Side by Side Diff: src/arm/lithium-codegen-arm.cc

Issue 6274009: ARM: Merging constants in simulator and assembler header files and other clea... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1464 matching lines...) Expand 10 before | Expand all | Expand 10 after
1475 1475
1476 1476
1477 void LCodeGen::DoBranch(LBranch* instr) { 1477 void LCodeGen::DoBranch(LBranch* instr) {
1478 int true_block = chunk_->LookupDestination(instr->true_block_id()); 1478 int true_block = chunk_->LookupDestination(instr->true_block_id());
1479 int false_block = chunk_->LookupDestination(instr->false_block_id()); 1479 int false_block = chunk_->LookupDestination(instr->false_block_id());
1480 1480
1481 Representation r = instr->hydrogen()->representation(); 1481 Representation r = instr->hydrogen()->representation();
1482 if (r.IsInteger32()) { 1482 if (r.IsInteger32()) {
1483 Register reg = ToRegister(instr->input()); 1483 Register reg = ToRegister(instr->input());
1484 __ cmp(reg, Operand(0)); 1484 __ cmp(reg, Operand(0));
1485 EmitBranch(true_block, false_block, nz); 1485 EmitBranch(true_block, false_block, ne);
1486 } else if (r.IsDouble()) { 1486 } else if (r.IsDouble()) {
1487 DoubleRegister reg = ToDoubleRegister(instr->input()); 1487 DoubleRegister reg = ToDoubleRegister(instr->input());
1488 Register scratch = scratch0(); 1488 Register scratch = scratch0();
1489 1489
1490 // Test the double value. Zero and NaN are false. 1490 // Test the double value. Zero and NaN are false.
1491 __ VFPCompareAndLoadFlags(reg, 0.0, scratch); 1491 __ VFPCompareAndLoadFlags(reg, 0.0, scratch);
1492 __ tst(scratch, Operand(kVFPZConditionFlagBit | kVFPVConditionFlagBit)); 1492 __ tst(scratch, Operand(kVFPZConditionFlagBit | kVFPVConditionFlagBit));
1493 EmitBranch(true_block, false_block, ne); 1493 EmitBranch(true_block, false_block, ne);
1494 } else { 1494 } else {
1495 ASSERT(r.IsTagged()); 1495 ASSERT(r.IsTagged());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1533 1533
1534 // The conversion stub doesn't cause garbage collections so it's 1534 // The conversion stub doesn't cause garbage collections so it's
1535 // safe to not record a safepoint after the call. 1535 // safe to not record a safepoint after the call.
1536 __ bind(&call_stub); 1536 __ bind(&call_stub);
1537 ToBooleanStub stub(reg); 1537 ToBooleanStub stub(reg);
1538 RegList saved_regs = kJSCallerSaved | kCalleeSaved; 1538 RegList saved_regs = kJSCallerSaved | kCalleeSaved;
1539 __ stm(db_w, sp, saved_regs); 1539 __ stm(db_w, sp, saved_regs);
1540 __ CallStub(&stub); 1540 __ CallStub(&stub);
1541 __ cmp(reg, Operand(0)); 1541 __ cmp(reg, Operand(0));
1542 __ ldm(ia_w, sp, saved_regs); 1542 __ ldm(ia_w, sp, saved_regs);
1543 EmitBranch(true_block, false_block, nz); 1543 EmitBranch(true_block, false_block, ne);
1544 } 1544 }
1545 } 1545 }
1546 } 1546 }
1547 1547
1548 1548
1549 void LCodeGen::EmitGoto(int block, LDeferredCode* deferred_stack_check) { 1549 void LCodeGen::EmitGoto(int block, LDeferredCode* deferred_stack_check) {
1550 block = chunk_->LookupDestination(block); 1550 block = chunk_->LookupDestination(block);
1551 int next_block = GetNextEmittedBlock(current_block_); 1551 int next_block = GetNextEmittedBlock(current_block_);
1552 if (block != next_block) { 1552 if (block != next_block) {
1553 // Perform stack overflow check if this goto needs it before jumping. 1553 // Perform stack overflow check if this goto needs it before jumping.
(...skipping 2090 matching lines...) Expand 10 before | Expand all | Expand 10 after
3644 3644
3645 3645
3646 void LCodeGen::DoOsrEntry(LOsrEntry* instr) { 3646 void LCodeGen::DoOsrEntry(LOsrEntry* instr) {
3647 Abort("DoOsrEntry unimplemented."); 3647 Abort("DoOsrEntry unimplemented.");
3648 } 3648 }
3649 3649
3650 3650
3651 #undef __ 3651 #undef __
3652 3652
3653 } } // namespace v8::internal 3653 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698