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

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

Issue 488006: Revert keyed load cache probing in generated code.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/heap.cc ('k') | src/ia32/ic-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 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 223
224 // ----------------------------------------------------------------------------- 224 // -----------------------------------------------------------------------------
225 // Machine instruction Operands 225 // Machine instruction Operands
226 226
227 enum ScaleFactor { 227 enum ScaleFactor {
228 times_1 = 0, 228 times_1 = 0,
229 times_2 = 1, 229 times_2 = 1,
230 times_4 = 2, 230 times_4 = 2,
231 times_8 = 3, 231 times_8 = 3,
232 times_pointer_size = times_4, 232 times_pointer_size = times_4,
233 two_times_pointer_size = times_8,
234 times_half_pointer_size = times_2 233 times_half_pointer_size = times_2
235 }; 234 };
236 235
237 236
238 class Operand BASE_EMBEDDED { 237 class Operand BASE_EMBEDDED {
239 public: 238 public:
240 // reg 239 // reg
241 INLINE(explicit Operand(Register reg)); 240 INLINE(explicit Operand(Register reg));
242 241
243 // [disp/r] 242 // [disp/r]
(...skipping 22 matching lines...) Expand all
266 RelocInfo::EXTERNAL_REFERENCE); 265 RelocInfo::EXTERNAL_REFERENCE);
267 } 266 }
268 267
269 static Operand StaticArray(Register index, 268 static Operand StaticArray(Register index,
270 ScaleFactor scale, 269 ScaleFactor scale,
271 const ExternalReference& arr) { 270 const ExternalReference& arr) {
272 return Operand(index, scale, reinterpret_cast<int32_t>(arr.address()), 271 return Operand(index, scale, reinterpret_cast<int32_t>(arr.address()),
273 RelocInfo::EXTERNAL_REFERENCE); 272 RelocInfo::EXTERNAL_REFERENCE);
274 } 273 }
275 274
276 static Operand StaticArray(Register index,
277 ScaleFactor scale,
278 const ExternalReference& arr,
279 int32_t disp) {
280 return Operand(index,
281 scale,
282 reinterpret_cast<int32_t>(arr.address() + disp),
283 RelocInfo::EXTERNAL_REFERENCE);
284 }
285
286
287 // Returns true if this Operand is a wrapper for the specified register. 275 // Returns true if this Operand is a wrapper for the specified register.
288 bool is_reg(Register reg) const; 276 bool is_reg(Register reg) const;
289 277
290 private: 278 private:
291 byte buf_[6]; 279 byte buf_[6];
292 // The number of bytes in buf_. 280 // The number of bytes in buf_.
293 unsigned int len_; 281 unsigned int len_;
294 // Only valid if len_ > 4. 282 // Only valid if len_ > 4.
295 RelocInfo::Mode rmode_; 283 RelocInfo::Mode rmode_;
296 284
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 private: 894 private:
907 Assembler* assembler_; 895 Assembler* assembler_;
908 #ifdef DEBUG 896 #ifdef DEBUG
909 int space_before_; 897 int space_before_;
910 #endif 898 #endif
911 }; 899 };
912 900
913 } } // namespace v8::internal 901 } } // namespace v8::internal
914 902
915 #endif // V8_IA32_ASSEMBLER_IA32_H_ 903 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/ia32/ic-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698