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

Side by Side Diff: src/arm64/macro-assembler-arm64-inl.h

Issue 2754543006: [arm64] Use exclusive instructions in exchange (Closed)
Patch Set: Created 3 years, 9 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
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_
6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_
7 7
8 #include <ctype.h> 8 #include <ctype.h>
9 9
10 #include "src/globals.h" 10 #include "src/globals.h"
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 LoadStorePairMacro(REG, REG2, addr, OP); \ 300 LoadStorePairMacro(REG, REG2, addr, OP); \
301 } 301 }
302 LSPAIR_MACRO_LIST(DEFINE_FUNCTION) 302 LSPAIR_MACRO_LIST(DEFINE_FUNCTION)
303 #undef DEFINE_FUNCTION 303 #undef DEFINE_FUNCTION
304 304
305 #define DECLARE_FUNCTION(FN, OP) \ 305 #define DECLARE_FUNCTION(FN, OP) \
306 void MacroAssembler::FN(const Register& rt, const Register& rn) { \ 306 void MacroAssembler::FN(const Register& rt, const Register& rn) { \
307 DCHECK(allow_macro_instructions_); \ 307 DCHECK(allow_macro_instructions_); \
308 OP(rt, rn); \ 308 OP(rt, rn); \
309 } 309 }
310 LDA_STL_MACRO_LIST(DECLARE_FUNCTION) 310 LDX_LDA_STL_MACRO_LIST(DECLARE_FUNCTION)
311 #undef DECLARE_FUNCTION 311 #undef DECLARE_FUNCTION
312 312
313 #define DECLARE_FUNCTION(FN, OP) \ 313 #define DECLARE_FUNCTION(FN, OP) \
314 void MacroAssembler::FN(const Register& rs, const Register& rt, \ 314 void MacroAssembler::FN(const Register& rs, const Register& rt, \
315 const Register& rn) { \ 315 const Register& rn) { \
316 DCHECK(allow_macro_instructions_); \ 316 DCHECK(allow_macro_instructions_); \
317 OP(rs, rt, rn); \ 317 OP(rs, rt, rn); \
318 } 318 }
319 STLX_MACRO_LIST(DECLARE_FUNCTION) 319 STX_STLX_MACRO_LIST(DECLARE_FUNCTION)
320 #undef DECLARE_FUNCTION 320 #undef DECLARE_FUNCTION
321 321
322 void MacroAssembler::Asr(const Register& rd, 322 void MacroAssembler::Asr(const Register& rd,
323 const Register& rn, 323 const Register& rn,
324 unsigned shift) { 324 unsigned shift) {
325 DCHECK(allow_macro_instructions_); 325 DCHECK(allow_macro_instructions_);
326 DCHECK(!rd.IsZero()); 326 DCHECK(!rd.IsZero());
327 asr(rd, rn, shift); 327 asr(rd, rn, shift);
328 } 328 }
329 329
(...skipping 1347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1677 DCHECK(isprint(marker_name[0]) && isprint(marker_name[1])); 1677 DCHECK(isprint(marker_name[0]) && isprint(marker_name[1]));
1678 1678
1679 InstructionAccurateScope scope(this, 1); 1679 InstructionAccurateScope scope(this, 1);
1680 movn(xzr, (marker_name[1] << 8) | marker_name[0]); 1680 movn(xzr, (marker_name[1] << 8) | marker_name[0]);
1681 } 1681 }
1682 1682
1683 } // namespace internal 1683 } // namespace internal
1684 } // namespace v8 1684 } // namespace v8
1685 1685
1686 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ 1686 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698