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

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

Issue 528993002: First step to cleanup the power-of-2 mess. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: clang-format 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/allocation.cc ('k') | src/arm/code-stubs-arm.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 21 matching lines...) Expand all
32 32
33 // The original source code covered by the above license above has been 33 // The original source code covered by the above license above has been
34 // modified significantly by Google Inc. 34 // modified significantly by Google Inc.
35 // Copyright 2012 the V8 project authors. All rights reserved. 35 // Copyright 2012 the V8 project authors. All rights reserved.
36 36
37 #include "src/v8.h" 37 #include "src/v8.h"
38 38
39 #if V8_TARGET_ARCH_ARM 39 #if V8_TARGET_ARCH_ARM
40 40
41 #include "src/arm/assembler-arm-inl.h" 41 #include "src/arm/assembler-arm-inl.h"
42 #include "src/base/bits.h"
42 #include "src/base/cpu.h" 43 #include "src/base/cpu.h"
43 #include "src/macro-assembler.h" 44 #include "src/macro-assembler.h"
44 #include "src/serialize.h" 45 #include "src/serialize.h"
45 46
46 namespace v8 { 47 namespace v8 {
47 namespace internal { 48 namespace internal {
48 49
49 // Get the CPU features enabled by the build. For cross compilation the 50 // Get the CPU features enabled by the build. For cross compilation the
50 // preprocessor symbols CAN_USE_ARMV7_INSTRUCTIONS and CAN_USE_VFP3_INSTRUCTIONS 51 // preprocessor symbols CAN_USE_ARMV7_INSTRUCTIONS and CAN_USE_VFP3_INSTRUCTIONS
51 // can be defined to enable ARMv7 and VFPv3 instructions when building the 52 // can be defined to enable ARMv7 and VFPv3 instructions when building the
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 // Set up code descriptor. 492 // Set up code descriptor.
492 desc->buffer = buffer_; 493 desc->buffer = buffer_;
493 desc->buffer_size = buffer_size_; 494 desc->buffer_size = buffer_size_;
494 desc->instr_size = pc_offset(); 495 desc->instr_size = pc_offset();
495 desc->reloc_size = (buffer_ + buffer_size_) - reloc_info_writer.pos(); 496 desc->reloc_size = (buffer_ + buffer_size_) - reloc_info_writer.pos();
496 desc->origin = this; 497 desc->origin = this;
497 } 498 }
498 499
499 500
500 void Assembler::Align(int m) { 501 void Assembler::Align(int m) {
501 DCHECK(m >= 4 && IsPowerOf2(m)); 502 DCHECK(m >= 4 && base::bits::IsPowerOfTwo32(m));
502 while ((pc_offset() & (m - 1)) != 0) { 503 while ((pc_offset() & (m - 1)) != 0) {
503 nop(); 504 nop();
504 } 505 }
505 } 506 }
506 507
507 508
508 void Assembler::CodeTargetAlign() { 509 void Assembler::CodeTargetAlign() {
509 // Preferred alignment of jump targets on some ARM chips. 510 // Preferred alignment of jump targets on some ARM chips.
510 Align(8); 511 Align(8);
511 } 512 }
(...skipping 3322 matching lines...) Expand 10 before | Expand all | Expand 10 after
3834 assm->instr_at_put( 3835 assm->instr_at_put(
3835 rinfo.pc(), Assembler::SetLdrRegisterImmediateOffset(instr, offset)); 3836 rinfo.pc(), Assembler::SetLdrRegisterImmediateOffset(instr, offset));
3836 } 3837 }
3837 } 3838 }
3838 } 3839 }
3839 3840
3840 3841
3841 } } // namespace v8::internal 3842 } } // namespace v8::internal
3842 3843
3843 #endif // V8_TARGET_ARCH_ARM 3844 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/allocation.cc ('k') | src/arm/code-stubs-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698