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

Side by Side Diff: src/mips64/macro-assembler-mips64.cc

Issue 553843002: Replace our home-grown BitCast with bit_cast from Chrome/Google3. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 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/mips/simulator-mips.cc ('k') | src/mips64/simulator-mips64.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <limits.h> // For LONG_MIN, LONG_MAX. 5 #include <limits.h> // For LONG_MIN, LONG_MAX.
6 6
7 #include "src/v8.h" 7 #include "src/v8.h"
8 8
9 #if V8_TARGET_ARCH_MIPS64 9 #if V8_TARGET_ARCH_MIPS64
10 10
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 save_fp, 205 save_fp,
206 remembered_set_action, 206 remembered_set_action,
207 OMIT_SMI_CHECK, 207 OMIT_SMI_CHECK,
208 pointers_to_here_check_for_value); 208 pointers_to_here_check_for_value);
209 209
210 bind(&done); 210 bind(&done);
211 211
212 // Clobber clobbered input registers when running with the debug-code flag 212 // Clobber clobbered input registers when running with the debug-code flag
213 // turned on to provoke errors. 213 // turned on to provoke errors.
214 if (emit_debug_code()) { 214 if (emit_debug_code()) {
215 li(value, Operand(BitCast<int64_t>(kZapValue + 4))); 215 li(value, Operand(bit_cast<int64_t>(kZapValue + 4)));
216 li(dst, Operand(BitCast<int64_t>(kZapValue + 8))); 216 li(dst, Operand(bit_cast<int64_t>(kZapValue + 8)));
217 } 217 }
218 } 218 }
219 219
220 220
221 // Will clobber 4 registers: object, map, dst, ip. The 221 // Will clobber 4 registers: object, map, dst, ip. The
222 // register 'object' contains a heap object pointer. 222 // register 'object' contains a heap object pointer.
223 void MacroAssembler::RecordWriteForMap(Register object, 223 void MacroAssembler::RecordWriteForMap(Register object,
224 Register map, 224 Register map,
225 Register dst, 225 Register dst,
226 RAStatus ra_status, 226 RAStatus ra_status,
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 280
281 bind(&done); 281 bind(&done);
282 282
283 // Count number of write barriers in generated code. 283 // Count number of write barriers in generated code.
284 isolate()->counters()->write_barriers_static()->Increment(); 284 isolate()->counters()->write_barriers_static()->Increment();
285 IncrementCounter(isolate()->counters()->write_barriers_dynamic(), 1, at, dst); 285 IncrementCounter(isolate()->counters()->write_barriers_dynamic(), 1, at, dst);
286 286
287 // Clobber clobbered registers when running with the debug-code flag 287 // Clobber clobbered registers when running with the debug-code flag
288 // turned on to provoke errors. 288 // turned on to provoke errors.
289 if (emit_debug_code()) { 289 if (emit_debug_code()) {
290 li(dst, Operand(BitCast<int64_t>(kZapValue + 12))); 290 li(dst, Operand(bit_cast<int64_t>(kZapValue + 12)));
291 li(map, Operand(BitCast<int64_t>(kZapValue + 16))); 291 li(map, Operand(bit_cast<int64_t>(kZapValue + 16)));
292 } 292 }
293 } 293 }
294 294
295 295
296 // Will clobber 4 registers: object, address, scratch, ip. The 296 // Will clobber 4 registers: object, address, scratch, ip. The
297 // register 'object' contains a heap object pointer. The heap object 297 // register 'object' contains a heap object pointer. The heap object
298 // tag is shifted away. 298 // tag is shifted away.
299 void MacroAssembler::RecordWrite( 299 void MacroAssembler::RecordWrite(
300 Register object, 300 Register object,
301 Register address, 301 Register address,
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 bind(&done); 355 bind(&done);
356 356
357 // Count number of write barriers in generated code. 357 // Count number of write barriers in generated code.
358 isolate()->counters()->write_barriers_static()->Increment(); 358 isolate()->counters()->write_barriers_static()->Increment();
359 IncrementCounter(isolate()->counters()->write_barriers_dynamic(), 1, at, 359 IncrementCounter(isolate()->counters()->write_barriers_dynamic(), 1, at,
360 value); 360 value);
361 361
362 // Clobber clobbered registers when running with the debug-code flag 362 // Clobber clobbered registers when running with the debug-code flag
363 // turned on to provoke errors. 363 // turned on to provoke errors.
364 if (emit_debug_code()) { 364 if (emit_debug_code()) {
365 li(address, Operand(BitCast<int64_t>(kZapValue + 12))); 365 li(address, Operand(bit_cast<int64_t>(kZapValue + 12)));
366 li(value, Operand(BitCast<int64_t>(kZapValue + 16))); 366 li(value, Operand(bit_cast<int64_t>(kZapValue + 16)));
367 } 367 }
368 } 368 }
369 369
370 370
371 void MacroAssembler::RememberedSetHelper(Register object, // For debug tests. 371 void MacroAssembler::RememberedSetHelper(Register object, // For debug tests.
372 Register address, 372 Register address,
373 Register scratch, 373 Register scratch,
374 SaveFPRegsMode fp_mode, 374 SaveFPRegsMode fp_mode,
375 RememberedSetFinalAction and_then) { 375 RememberedSetFinalAction and_then) {
376 Label done; 376 Label done;
(...skipping 5727 matching lines...) Expand 10 before | Expand all | Expand 10 after
6104 } 6104 }
6105 if (mag.shift > 0) sra(result, result, mag.shift); 6105 if (mag.shift > 0) sra(result, result, mag.shift);
6106 srl(at, dividend, 31); 6106 srl(at, dividend, 31);
6107 Addu(result, result, Operand(at)); 6107 Addu(result, result, Operand(at));
6108 } 6108 }
6109 6109
6110 6110
6111 } } // namespace v8::internal 6111 } } // namespace v8::internal
6112 6112
6113 #endif // V8_TARGET_ARCH_MIPS64 6113 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW
« no previous file with comments | « src/mips/simulator-mips.cc ('k') | src/mips64/simulator-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698