Mercurial > hg > graal-compiler
annotate graal/com.oracle.truffle.ruby.nodes/src/com/oracle/truffle/ruby/nodes/debug/RubyProbe.java @ 13918:22bf5a8ba9eb
Ruby: restore prototype debugger.
author | Chris Seaton <chris.seaton@oracle.com> |
---|---|
date | Mon, 10 Feb 2014 03:39:21 +0000 |
parents | |
children |
rev | line source |
---|---|
13918
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
1 /* |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
2 * Copyright (c) 2013, 2014 Oracle and/or its affiliates. All rights reserved. This |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
3 * code is released under a tri EPL/GPL/LGPL license. You can use it, |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
4 * redistribute it and/or modify it under the terms of the: |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
5 * |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
6 * Eclipse Public License version 1.0 |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
7 * GNU General Public License version 2 |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
8 * GNU Lesser General Public License version 2.1 |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
9 */ |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
10 package com.oracle.truffle.ruby.nodes.debug; |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
11 |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
12 import com.oracle.truffle.api.nodes.instrument.*; |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
13 import com.oracle.truffle.ruby.runtime.*; |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
14 |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
15 /** |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
16 * A "probe node" implemented specifically for the Ruby implementation; subclasses need only |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
17 * override those members of {@link InstrumentationProbeEvents} for which some action is needed. |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
18 */ |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
19 public abstract class RubyProbe extends InstrumentationProbeNode.DefaultProbeNode { |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
20 |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
21 protected final boolean oneShot; |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
22 |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
23 protected final RubyContext context; |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
24 |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
25 /** |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
26 * OneShot is this a one-shot (self-removing) probe? |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
27 */ |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
28 public RubyProbe(RubyContext context, boolean oneShot) { |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
29 super(context); |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
30 this.oneShot = oneShot; |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
31 this.context = context; |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
32 } |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
33 |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
34 /** |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
35 * Is this a one-shot (self-removing) probe? If so, it will remove itself the first time |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
36 * activated. |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
37 */ |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
38 public boolean isOneShot() { |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
39 return oneShot; |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
40 } |
22bf5a8ba9eb
Ruby: restore prototype debugger.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
41 } |