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

Unified Diff: src/assembler-ia32.cc

Issue 14886: Bring toiger up to date with bleeding edge 984. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/toiger/
Patch Set: Created 12 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/assembler-ia32.h ('k') | src/assembler-ia32-inl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/assembler-ia32.cc
===================================================================
--- src/assembler-ia32.cc (revision 1004)
+++ src/assembler-ia32.cc (working copy)
@@ -420,29 +420,6 @@
}
-void Assembler::push(Label* label, RelocInfo::Mode reloc_mode) {
- ASSERT_NOT_NULL(label);
- EnsureSpace ensure_space(this);
- last_pc_ = pc_;
- // If reloc_mode == NONE, the label is stored as buffer relative.
- ASSERT(reloc_mode == RelocInfo::NONE);
- if (label->is_bound()) {
- // Index of position relative to Code Object-pointer.
- int rel_pos = label->pos() + Code::kHeaderSize - kHeapObjectTag;
- if (rel_pos >= 0 && rel_pos < 256) {
- EMIT(0x6a);
- EMIT(rel_pos);
- } else {
- EMIT(0x68);
- emit(rel_pos);
- }
- } else {
- EMIT(0x68);
- emit_disp(label, Displacement::CODE_RELATIVE);
- }
-}
-
-
void Assembler::pop(Register dst) {
ASSERT(reloc_info_writer.last_pc() != NULL);
if (FLAG_push_pop_elimination && (reloc_info_writer.last_pc() <= last_pc_)) {
@@ -889,21 +866,20 @@
}
-void Assembler::rep_cmpsb() {
+void Assembler::cmpb_al(const Operand& op) {
EnsureSpace ensure_space(this);
last_pc_ = pc_;
- EMIT(0xFC); // CLD to ensure forward operation
- EMIT(0xF3); // REP
- EMIT(0xA6); // CMPSB
+ EMIT(0x38); // CMP r/m8, r8
+ emit_operand(eax, op); // eax has same code as register al.
}
-void Assembler::rep_cmpsw() {
+
+void Assembler::cmpw_ax(const Operand& op) {
EnsureSpace ensure_space(this);
last_pc_ = pc_;
- EMIT(0xFC); // CLD to ensure forward operation
- EMIT(0xF3); // REP
- EMIT(0x66); // Operand size overide.
- EMIT(0xA7); // CMPS
+ EMIT(0x66);
+ EMIT(0x39); // CMP r/m16, r16
+ emit_operand(eax, op); // eax has same code as register ax.
}
« no previous file with comments | « src/assembler-ia32.h ('k') | src/assembler-ia32-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698