Mercurial > illumos > onarm
annotate usr/src/cmd/dtrace/test/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithBreakPoint.d @ 4:1a15d5aaf794
synchronized with onnv_86 (6202) in onnv-gate
author | Koji Uno <koji.uno@sun.com> |
---|---|
date | Mon, 31 Aug 2009 14:38:03 +0900 |
parents | c9caec207d52 |
children |
rev | line source |
---|---|
0 | 1 #!/usr/sbin/dtrace -ws |
2 /* | |
3 * CDDL HEADER START | |
4 * | |
5 * The contents of this file are subject to the terms of the | |
6 * Common Development and Distribution License (the "License"). | |
7 * You may not use this file except in compliance with the License. | |
8 * | |
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE | |
10 * or http://www.opensolaris.org/os/licensing. | |
11 * See the License for the specific language governing permissions | |
12 * and limitations under the License. | |
13 * | |
14 * When distributing Covered Code, include this CDDL HEADER in each | |
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. | |
16 * If applicable, add the following below this CDDL HEADER, with the | |
17 * fields enclosed by brackets "[]" replaced with your own identifying | |
18 * information: Portions Copyright [yyyy] [name of copyright owner] | |
19 * | |
20 * CDDL HEADER END | |
21 */ | |
22 | |
23 /* | |
24 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. | |
25 * Use is subject to license terms. | |
26 */ | |
27 | |
4
1a15d5aaf794
synchronized with onnv_86 (6202) in onnv-gate
Koji Uno <koji.uno@sun.com>
parents:
0
diff
changeset
|
28 #pragma ident "%Z%%M% %I% %E% SMI" |
0 | 29 |
30 /* | |
31 * ASSERTION: | |
32 * Destructive actions may never be speculative. | |
33 * | |
34 * SECTION: Speculative Tracing/Using a Speculation | |
35 * SECTION: dtrace(1M) Utility/ -w option | |
36 * | |
37 */ | |
38 #pragma D option quiet | |
39 | |
40 BEGIN | |
41 { | |
42 i = 0; | |
43 } | |
44 | |
45 syscall::: | |
46 /i < 1/ | |
47 { | |
48 var = speculation(); | |
49 speculate(var); | |
50 printf("Speculation ID: %d", var); | |
51 breakpoint(); | |
52 i++; | |
53 } | |
54 | |
55 syscall::: | |
56 /1 == i/ | |
57 { | |
58 exit(0); | |
59 } | |
60 | |
61 ERROR | |
62 { | |
63 exit(0); | |
64 } | |
65 | |
66 END | |
67 { | |
68 exit(0); | |
69 } |