Implement support for JIT exceptions on X86_64. Relative offsets are
[oota-llvm.git] / include / llvm / CodeGen / MachineCodeEmitter.h
index a14e4c13fb6f37202803b4f1dab15c335e49e2bb..d83591b88591b15ec85d54e229ad3285237011b0 100644 (file)
@@ -228,12 +228,19 @@ public:
     }
   }
   
-  /// emitAt - Emit Value in Addr
-  void emitAt(uintptr_t *Addr, uintptr_t Value) {
+  /// emitInt32At - Emit the Int32 Value in Addr.
+  void emitInt32At(uintptr_t *Addr, uintptr_t Value) {
     if (Addr >= (uintptr_t*)BufferBegin && Addr < (uintptr_t*)BufferEnd)
-      (*Addr) = Value;
+      (*(uint32_t*)Addr) = (uint32_t)Value;
   }
   
+  /// emitInt64At - Emit the Int64 Value in Addr.
+  void emitInt64At(uintptr_t *Addr, uintptr_t Value) {
+    if (Addr >= (uintptr_t*)BufferBegin && Addr < (uintptr_t*)BufferEnd)
+      (*(uint64_t*)Addr) = (uint64_t)Value;
+  }
+  
+  
   /// emitLabel - Emits a label
   virtual void emitLabel(uint64_t LabelID) = 0;