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

Side by Side Diff: src/assembler-ia32.cc

Issue 16481: Copy of changelist from issue 16450. Converts compare operation... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/toiger/
Patch Set: '' Created 11 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
« no previous file with comments | « src/assembler-ia32.h ('k') | src/codegen-ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after
736 ASSERT(CpuFeatures::IsEnabled(CpuFeatures::CMOV)); 736 ASSERT(CpuFeatures::IsEnabled(CpuFeatures::CMOV));
737 EnsureSpace ensure_space(this); 737 EnsureSpace ensure_space(this);
738 last_pc_ = pc_; 738 last_pc_ = pc_;
739 UNIMPLEMENTED(); 739 UNIMPLEMENTED();
740 USE(cc); 740 USE(cc);
741 USE(dst); 741 USE(dst);
742 USE(src); 742 USE(src);
743 } 743 }
744 744
745 745
746 void Assembler::xchg(Register dst, Register src) {
747 EnsureSpace ensure_space(this);
748 last_pc_ = pc_;
749 if (src.is(eax) || dst.is(eax)) { // Single-byte encoding
750 EMIT(0x90 | (src.is(eax) ? dst.code() : src.code()));
751 } else {
752 EMIT(0x87);
753 EMIT(0xC0 | src.code() << 3 | dst.code());
754 }
755 }
756
757
746 void Assembler::adc(Register dst, int32_t imm32) { 758 void Assembler::adc(Register dst, int32_t imm32) {
747 EnsureSpace ensure_space(this); 759 EnsureSpace ensure_space(this);
748 last_pc_ = pc_; 760 last_pc_ = pc_;
749 emit_arith(2, Operand(dst), Immediate(imm32)); 761 emit_arith(2, Operand(dst), Immediate(imm32));
750 } 762 }
751 763
752 764
753 void Assembler::adc(Register dst, const Operand& src) { 765 void Assembler::adc(Register dst, const Operand& src) {
754 EnsureSpace ensure_space(this); 766 EnsureSpace ensure_space(this);
755 last_pc_ = pc_; 767 last_pc_ = pc_;
(...skipping 1384 matching lines...) Expand 10 before | Expand all | Expand 10 after
2140 ASSERT(bound_label.is_bound()); 2152 ASSERT(bound_label.is_bound());
2141 ASSERT(0 <= position); 2153 ASSERT(0 <= position);
2142 ASSERT(position + static_cast<int>(sizeof(uint32_t)) <= pc_offset()); 2154 ASSERT(position + static_cast<int>(sizeof(uint32_t)) <= pc_offset());
2143 ASSERT(long_at(position) == 0); // only initialize once! 2155 ASSERT(long_at(position) == 0); // only initialize once!
2144 2156
2145 uint32_t label_loc = reinterpret_cast<uint32_t>(addr_at(bound_label.pos())); 2157 uint32_t label_loc = reinterpret_cast<uint32_t>(addr_at(bound_label.pos()));
2146 long_at_put(position, label_loc); 2158 long_at_put(position, label_loc);
2147 } 2159 }
2148 2160
2149 } } // namespace v8::internal 2161 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/assembler-ia32.h ('k') | src/codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698