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

Side by Side Diff: src/IceAssemblerX86BaseImpl.h

Issue 1665263003: Subzero. ARM32. Nonsfi. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Addresses comments. Created 4 years, 10 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
« no previous file with comments | « src/IceAssemblerX86Base.h ('k') | src/IceCfg.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 //===- subzero/src/IceAssemblerX86BaseImpl.h - base x86 assembler -*- C++ -*-=// 1 //===- subzero/src/IceAssemblerX86BaseImpl.h - base x86 assembler -*- C++ -*-=//
2 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 2 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
3 // for details. All rights reserved. Use of this source code is governed by a 3 // for details. All rights reserved. Use of this source code is governed by a
4 // BSD-style license that can be found in the LICENSE file. 4 // BSD-style license that can be found in the LICENSE file.
5 // 5 //
6 // Modified by the Subzero authors. 6 // Modified by the Subzero authors.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 // 9 //
10 // The Subzero Code Generator 10 // The Subzero Code Generator
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 } 99 }
100 100
101 template <typename TraitsType> 101 template <typename TraitsType>
102 void AssemblerX86Base<TraitsType>::bindLocalLabel(SizeT Number) { 102 void AssemblerX86Base<TraitsType>::bindLocalLabel(SizeT Number) {
103 Label *L = getOrCreateLocalLabel(Number); 103 Label *L = getOrCreateLocalLabel(Number);
104 if (!getPreliminary()) 104 if (!getPreliminary())
105 this->bind(L); 105 this->bind(L);
106 } 106 }
107 107
108 template <typename TraitsType> 108 template <typename TraitsType>
109 void AssemblerX86Base<TraitsType>::bindRelocOffset(RelocOffset *Offset) {
110 if (!getPreliminary()) {
111 Offset->setOffset(Buffer.getPosition());
112 }
113 }
114
115 template <typename TraitsType>
116 void AssemblerX86Base<TraitsType>::call(GPRRegister reg) { 109 void AssemblerX86Base<TraitsType>::call(GPRRegister reg) {
117 AssemblerBuffer::EnsureCapacity ensured(&Buffer); 110 AssemblerBuffer::EnsureCapacity ensured(&Buffer);
118 emitRexB(RexTypeIrrelevant, reg); 111 emitRexB(RexTypeIrrelevant, reg);
119 emitUint8(0xFF); 112 emitUint8(0xFF);
120 emitRegisterOperand(2, gprEncoding(reg)); 113 emitRegisterOperand(2, gprEncoding(reg));
121 } 114 }
122 115
123 template <typename TraitsType> 116 template <typename TraitsType>
124 void AssemblerX86Base<TraitsType>::call(const Address &address) { 117 void AssemblerX86Base<TraitsType>::call(const Address &address) {
125 AssemblerBuffer::EnsureCapacity ensured(&Buffer); 118 AssemblerBuffer::EnsureCapacity ensured(&Buffer);
(...skipping 3416 matching lines...) Expand 10 before | Expand all | Expand 10 after
3542 (void)shifter; 3535 (void)shifter;
3543 if (Ty == IceType_i16) 3536 if (Ty == IceType_i16)
3544 emitOperandSizeOverride(); 3537 emitOperandSizeOverride();
3545 emitRexB(Ty, operand.rm()); 3538 emitRexB(Ty, operand.rm());
3546 emitUint8(isByteSizedArithType(Ty) ? 0xD2 : 0xD3); 3539 emitUint8(isByteSizedArithType(Ty) ? 0xD2 : 0xD3);
3547 emitOperand(rm, operand); 3540 emitOperand(rm, operand);
3548 } 3541 }
3549 3542
3550 } // end of namespace X86NAMESPACE 3543 } // end of namespace X86NAMESPACE
3551 } // end of namespace Ice 3544 } // end of namespace Ice
OLDNEW
« no previous file with comments | « src/IceAssemblerX86Base.h ('k') | src/IceCfg.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698