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

Side by Side Diff: src/IceAssemblerX86Base.h

Issue 1651163002: Subzero. Enables moar complex relocation offsets. (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
OLDNEW
1 //===- subzero/src/IceAssemblerX86Base.h - base x86 assembler -*- C++ -*---===// 1 //===- subzero/src/IceAssemblerX86Base.h - base x86 assembler -*- C++ -*---===//
2 // 2 //
3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
4 // for details. All rights reserved. Use of this source code is governed by a 4 // for details. All rights reserved. Use of this source code is governed by a
5 // BSD-style license that can be found in the LICENSE file. 5 // BSD-style license that can be found in the LICENSE file.
6 // 6 //
7 // Modified by the Subzero authors. 7 // Modified by the Subzero authors.
8 // 8 //
9 //===----------------------------------------------------------------------===// 9 //===----------------------------------------------------------------------===//
10 // 10 //
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 } 164 }
165 if (Padding) 165 if (Padding)
166 nop(Padding); 166 nop(Padding);
167 } 167 }
168 168
169 Ice::Label *getCfgNodeLabel(SizeT NodeNumber) override; 169 Ice::Label *getCfgNodeLabel(SizeT NodeNumber) override;
170 void bindCfgNodeLabel(const CfgNode *Node) override; 170 void bindCfgNodeLabel(const CfgNode *Node) override;
171 Label *getOrCreateCfgNodeLabel(SizeT Number); 171 Label *getOrCreateCfgNodeLabel(SizeT Number);
172 Label *getOrCreateLocalLabel(SizeT Number); 172 Label *getOrCreateLocalLabel(SizeT Number);
173 void bindLocalLabel(SizeT Number); 173 void bindLocalLabel(SizeT Number);
174 void bindRelocOffset(RelocOffset *Offset);
174 175
175 bool fixupIsPCRel(FixupKind Kind) const override { 176 bool fixupIsPCRel(FixupKind Kind) const override {
176 // Currently assuming this is the only PC-rel relocation type used. 177 // Currently assuming this is the only PC-rel relocation type used.
177 // TODO(jpp): Traits.PcRelTypes.count(Kind) != 0 178 // TODO(jpp): Traits.PcRelTypes.count(Kind) != 0
178 return Kind == Traits::FK_PcRel; 179 return Kind == Traits::FK_PcRel;
179 } 180 }
180 181
181 // Operations to emit GPR instructions (and dispatch on operand type). 182 // Operations to emit GPR instructions (and dispatch on operand type).
182 using TypedEmitGPR = void (AssemblerX86Base::*)(Type, GPRRegister); 183 using TypedEmitGPR = void (AssemblerX86Base::*)(Type, GPRRegister);
183 using TypedEmitAddr = void (AssemblerX86Base::*)(Type, const Address &); 184 using TypedEmitAddr = void (AssemblerX86Base::*)(Type, const Address &);
(...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after
916 emitUint8(0x66); 917 emitUint8(0x66);
917 } 918 }
918 919
919 } // end of namespace X86NAMESPACE 920 } // end of namespace X86NAMESPACE
920 921
921 } // end of namespace Ice 922 } // end of namespace Ice
922 923
923 #include "IceAssemblerX86BaseImpl.h" 924 #include "IceAssemblerX86BaseImpl.h"
924 925
925 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H 926 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H
OLDNEW
« no previous file with comments | « src/IceAssembler.h ('k') | src/IceAssemblerX86BaseImpl.h » ('j') | src/IceDefs.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698