OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [gnu/] [gcj/] [jvmti/] [Breakpoint.java] - Blame information for rev 756

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 756 jeremybenn
// Breakpoint.java -  a base class for interpreter breakpoints
2
 
3
/* Copyright (C) 2006, 2007  Free Software Foundation
4
 
5
   This file is part of libgcj.
6
 
7
This software is copyrighted work licensed under the terms of the
8
Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
9
details.  */
10
 
11
package gnu.gcj.jvmti;
12
 
13
import gnu.gcj.RawDataManaged;
14
 
15
/**
16
 * Base class representing a type of breakpoint in the interpreter.
17
 * This class deals with saving insns and installing and
18
 * uninstalling insns in the interpreter for all breakpoint classes.
19
 *
20
 * @author Keith Seitz (keiths@redhat.com)
21
 */
22
public abstract class Breakpoint
23
{
24
  // Location of this breakpoint
25
  protected long method;
26
  protected long location;
27
 
28
  // The original instruction that this breakpoint replaced
29
  private RawDataManaged data;
30
 
31
  /**
32
   * Constructs a new Breakpoint
33
   *
34
   * @param method the method in which to set the breakpoint
35
   * @param location the location at which to set the breakpoint
36
   */
37
  public Breakpoint (long method, long location)
38
  {
39
    this.method = method;
40
    this.location = location;
41
  }
42
 
43
  public Breakpoint ()
44
  {
45
  }
46
 
47
  private native void _save_insn ();
48
 
49
  /**
50
   * Installs the breakpoint into the interpreter
51
   */
52
  public native void install ();
53
 
54
  /**
55
   * Removes the breakpoint from the interpreter, re-installing
56
   * the original instruction.
57
   */
58
  public native void remove ();
59
 
60
  /**
61
   * Returns the original instruction at the location where
62
   * this breakpoint was set
63
   */
64
  public RawDataManaged getInsn ()
65
  {
66
    return data;
67
  }
68
 
69
  /**
70
   * Execute the actions of this breakpoint
71
   */
72
  public abstract void execute ();
73
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.