Example #1
0
        public Register(Registers registers, string name, int index, int size,
				 bool valid, long value)
        {
            this.registers = registers;
            this.Name = name;
            this.Index = index;
            this.Size = size;
            this.valid = valid;
            this.value = value;
            this.addr_on_stack = TargetAddress.Null;
        }
Example #2
0
 public abstract void SetRegisters(Registers registers);
Example #3
0
 public void SetRegisters(Registers registers)
 {
     check_alive ();
     servant.SetRegisters (registers);
 }
Example #4
0
        internal StackFrame(Thread thread, FrameType type, TargetAddress address,
				     TargetAddress stack_ptr, TargetAddress frame_address,
				     Registers registers, Method method, SourceAddress source)
            : this(thread, type, address, stack_ptr, frame_address, registers, method)
        {
            this.source = source;
            if (method.HasSource && !method.MethodSource.IsDynamic)
                location = new SourceLocation (
                    method.MethodSource, source.SourceFile, source.Row);
            has_source = true;
        }
Example #5
0
        internal StackFrame(Thread thread, FrameType type, TargetAddress address,
				     TargetAddress stack_ptr, TargetAddress frame_address,
				     Registers registers, TargetFunctionType function,
				     SourceLocation location)
            : this(thread, type, address, stack_ptr, frame_address, registers)
        {
            this.function = function;
            this.language = function.DeclaringType.Language;
            this.name = new Symbol (function.FullName, address, 0);
            this.location = location;
        }
Example #6
0
        internal StackFrame(Thread thread, FrameType type, TargetAddress address,
				     TargetAddress stack_ptr, TargetAddress frame_address,
				     Registers registers, Method method)
            : this(thread, type, address, stack_ptr, frame_address, registers)
        {
            this.method = method;
            this.language = method.Module.Language;
            if (method.IsLoaded)
                this.name = new Symbol (method.Name, method.StartAddress, 0);
            else
                this.name = new Symbol (method.Name, address, 0);
        }
Example #7
0
        internal StackFrame(Thread thread, FrameType type, TargetAddress address,
				     TargetAddress stack_ptr, TargetAddress frame_address,
				     Registers registers, Language language, Symbol name)
            : this(thread, type, address, stack_ptr, frame_address, registers)
        {
            this.language = language;
            this.name = name;
        }
Example #8
0
        internal StackFrame(Thread thread, FrameType type, TargetAddress address,
				     TargetAddress stack_ptr, TargetAddress frame_address,
				     Registers registers)
        {
            this.thread = thread;
            this.type = type;
            this.address = address;
            this.stack_pointer = stack_ptr;
            this.frame_address = frame_address;
            this.registers = registers;
        }
Example #9
0
        internal Registers(Registers old_regs)
        {
            important_indices = old_regs.important_indices;

            regs = new Register [old_regs.regs.Length];
            for (int i = 0; i < regs.Length; i++) {
                if (old_regs [i] == null)
                    continue;
                regs [i] = new Register (
                    this, old_regs [i].Name, i, old_regs [i].Size,
                    false, old_regs [i].GetValue ());
            }
        }