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

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

Issue 39973003: Merge bleeding_edge. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: again Created 7 years, 1 month 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/i18n.js ('k') | src/ia32/assembler-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 are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // 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 1054 matching lines...) Expand 10 before | Expand all | Expand 10 after
1065 void movdqu(XMMRegister dst, const Operand& src); 1065 void movdqu(XMMRegister dst, const Operand& src);
1066 void movdqu(const Operand& dst, XMMRegister src); 1066 void movdqu(const Operand& dst, XMMRegister src);
1067 void movdq(bool aligned, XMMRegister dst, const Operand& src) { 1067 void movdq(bool aligned, XMMRegister dst, const Operand& src) {
1068 if (aligned) { 1068 if (aligned) {
1069 movdqa(dst, src); 1069 movdqa(dst, src);
1070 } else { 1070 } else {
1071 movdqu(dst, src); 1071 movdqu(dst, src);
1072 } 1072 }
1073 } 1073 }
1074 1074
1075 // Use either movsd or movlpd.
1076 void movdbl(XMMRegister dst, const Operand& src);
1077 void movdbl(const Operand& dst, XMMRegister src);
1078
1079 void movd(XMMRegister dst, Register src) { movd(dst, Operand(src)); } 1075 void movd(XMMRegister dst, Register src) { movd(dst, Operand(src)); }
1080 void movd(XMMRegister dst, const Operand& src); 1076 void movd(XMMRegister dst, const Operand& src);
1081 void movd(Register dst, XMMRegister src) { movd(Operand(dst), src); } 1077 void movd(Register dst, XMMRegister src) { movd(Operand(dst), src); }
1082 void movd(const Operand& dst, XMMRegister src); 1078 void movd(const Operand& dst, XMMRegister src);
1083 void movsd(XMMRegister dst, XMMRegister src); 1079 void movsd(XMMRegister dst, XMMRegister src);
1080 void movsd(XMMRegister dst, const Operand& src);
1081 void movsd(const Operand& dst, XMMRegister src);
1082
1084 1083
1085 void movss(XMMRegister dst, const Operand& src); 1084 void movss(XMMRegister dst, const Operand& src);
1086 void movss(const Operand& dst, XMMRegister src); 1085 void movss(const Operand& dst, XMMRegister src);
1087 void movss(XMMRegister dst, XMMRegister src); 1086 void movss(XMMRegister dst, XMMRegister src);
1088 void extractps(Register dst, XMMRegister src, byte imm8); 1087 void extractps(Register dst, XMMRegister src, byte imm8);
1089 1088
1090 void pand(XMMRegister dst, XMMRegister src); 1089 void pand(XMMRegister dst, XMMRegister src);
1091 void pxor(XMMRegister dst, XMMRegister src); 1090 void pxor(XMMRegister dst, XMMRegister src);
1092 void por(XMMRegister dst, XMMRegister src); 1091 void por(XMMRegister dst, XMMRegister src);
1093 void ptest(XMMRegister dst, XMMRegister src); 1092 void ptest(XMMRegister dst, XMMRegister src);
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1155 return (buffer_ + buffer_size_) - reloc_info_writer.pos(); 1154 return (buffer_ + buffer_size_) - reloc_info_writer.pos();
1156 } 1155 }
1157 1156
1158 // Avoid overflows for displacements etc. 1157 // Avoid overflows for displacements etc.
1159 static const int kMaximalBufferSize = 512*MB; 1158 static const int kMaximalBufferSize = 512*MB;
1160 1159
1161 byte byte_at(int pos) { return buffer_[pos]; } 1160 byte byte_at(int pos) { return buffer_[pos]; }
1162 void set_byte_at(int pos, byte value) { buffer_[pos] = value; } 1161 void set_byte_at(int pos, byte value) { buffer_[pos] = value; }
1163 1162
1164 protected: 1163 protected:
1165 void movsd(XMMRegister dst, const Operand& src);
1166 void movsd(const Operand& dst, XMMRegister src);
1167
1168 void emit_sse_operand(XMMRegister reg, const Operand& adr); 1164 void emit_sse_operand(XMMRegister reg, const Operand& adr);
1169 void emit_sse_operand(XMMRegister dst, XMMRegister src); 1165 void emit_sse_operand(XMMRegister dst, XMMRegister src);
1170 void emit_sse_operand(Register dst, XMMRegister src); 1166 void emit_sse_operand(Register dst, XMMRegister src);
1167 void emit_sse_operand(XMMRegister dst, Register src);
1171 1168
1172 byte* addr_at(int pos) { return buffer_ + pos; } 1169 byte* addr_at(int pos) { return buffer_ + pos; }
1173 1170
1174 1171
1175 private: 1172 private:
1176 uint32_t long_at(int pos) { 1173 uint32_t long_at(int pos) {
1177 return *reinterpret_cast<uint32_t*>(addr_at(pos)); 1174 return *reinterpret_cast<uint32_t*>(addr_at(pos));
1178 } 1175 }
1179 void long_at_put(int pos, uint32_t x) { 1176 void long_at_put(int pos, uint32_t x) {
1180 *reinterpret_cast<uint32_t*>(addr_at(pos)) = x; 1177 *reinterpret_cast<uint32_t*>(addr_at(pos)) = x;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1256 private: 1253 private:
1257 Assembler* assembler_; 1254 Assembler* assembler_;
1258 #ifdef DEBUG 1255 #ifdef DEBUG
1259 int space_before_; 1256 int space_before_;
1260 #endif 1257 #endif
1261 }; 1258 };
1262 1259
1263 } } // namespace v8::internal 1260 } } // namespace v8::internal
1264 1261
1265 #endif // V8_IA32_ASSEMBLER_IA32_H_ 1262 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « src/i18n.js ('k') | src/ia32/assembler-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698