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

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

Issue 2522283003: s390: introduce DUMY opcode for special use. (Closed)
Patch Set: make sure not overwrite opcode field Created 4 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
« no previous file with comments | « src/s390/assembler-s390.h ('k') | src/s390/constants-s390.h » ('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 2994 matching lines...) Expand 10 before | Expand all | Expand 10 after
3005 // end of S390instructions 3005 // end of S390instructions
3006 3006
3007 bool Assembler::IsNop(SixByteInstr instr, int type) { 3007 bool Assembler::IsNop(SixByteInstr instr, int type) {
3008 DCHECK((0 == type) || (DEBUG_BREAK_NOP == type)); 3008 DCHECK((0 == type) || (DEBUG_BREAK_NOP == type));
3009 if (DEBUG_BREAK_NOP == type) { 3009 if (DEBUG_BREAK_NOP == type) {
3010 return ((instr & 0xffffffff) == 0xa53b0000); // oill r3, 0 3010 return ((instr & 0xffffffff) == 0xa53b0000); // oill r3, 0
3011 } 3011 }
3012 return ((instr & 0xffff) == 0x1800); // lr r0,r0 3012 return ((instr & 0xffff) == 0x1800); // lr r0,r0
3013 } 3013 }
3014 3014
3015 // dummy instruction reserved for special use.
3016 void Assembler::dumy(int r1, int x2, int b2, int d2) {
3017 #if defined(USE_SIMULATOR)
3018 int op = 0xE353;
3019 uint64_t code = (static_cast<uint64_t>(op & 0xFF00)) * B32 |
3020 (static_cast<uint64_t>(r1) & 0xF) * B36 |
3021 (static_cast<uint64_t>(x2) & 0xF) * B32 |
3022 (static_cast<uint64_t>(b2) & 0xF) * B28 |
3023 (static_cast<uint64_t>(d2 & 0x0FFF)) * B16 |
3024 (static_cast<uint64_t>(d2 & 0x0FF000)) >> 4 |
3025 (static_cast<uint64_t>(op & 0x00FF));
3026 emit6bytes(code);
3027 #endif
3028 }
3029
3015 void Assembler::GrowBuffer(int needed) { 3030 void Assembler::GrowBuffer(int needed) {
3016 if (!own_buffer_) FATAL("external code buffer is too small"); 3031 if (!own_buffer_) FATAL("external code buffer is too small");
3017 3032
3018 // Compute new buffer size. 3033 // Compute new buffer size.
3019 CodeDesc desc; // the new buffer 3034 CodeDesc desc; // the new buffer
3020 if (buffer_size_ < 4 * KB) { 3035 if (buffer_size_ < 4 * KB) {
3021 desc.buffer_size = 4 * KB; 3036 desc.buffer_size = 4 * KB;
3022 } else if (buffer_size_ < 1 * MB) { 3037 } else if (buffer_size_ < 1 * MB) {
3023 desc.buffer_size = 2 * buffer_size_; 3038 desc.buffer_size = 2 * buffer_size_;
3024 } else { 3039 } else {
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
3128 SKIP_ICACHE_FLUSH); 3143 SKIP_ICACHE_FLUSH);
3129 } 3144 }
3130 3145
3131 reloc_info_writer.Write(&rinfo); 3146 reloc_info_writer.Write(&rinfo);
3132 } 3147 }
3133 } 3148 }
3134 3149
3135 } // namespace internal 3150 } // namespace internal
3136 } // namespace v8 3151 } // namespace v8
3137 #endif // V8_TARGET_ARCH_S390 3152 #endif // V8_TARGET_ARCH_S390
OLDNEW
« no previous file with comments | « src/s390/assembler-s390.h ('k') | src/s390/constants-s390.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698