Mercurial > hg > truffle
annotate make/solaris/adlc_updater @ 18985:867058575979
Truffle: Improved support for "probing" AST nodes:
- Node.isSafelyReplacaeableBy(Node) checks in advance if Node.replace(Node) would be unsafe (crash the VM).
- Hoist Probe() from language imlementations into Node; now completely language agnostic.
- Language implementations support probing by implementing Node.isInstrumentable() and Node.createWrapperNode()
- Node.Probe() throws ProbeException (without side effects) if the probe fails.
-- ProbeException contains an instance of ProbeFailure that diagnoses the failure in detail
- Additional measures to prevent instrumentation from being applied to internal InstrumentationNodes.
- Promote ProbeListener to top level interface and add a default implementation
author | Michael Van De Vanter <michael.van.de.vanter@oracle.com> |
---|---|
date | Tue, 27 Jan 2015 20:24:54 -0800 |
parents | a50abfc67f31 |
children |
rev | line source |
---|---|
0 | 1 #! /bin/sh |
2 # | |
3 # This file is used by adlc.make to selectively update generated | |
4 # adlc files. Because source and target diretories are relative | |
5 # paths, this file is copied to the target build directory before | |
6 # use. | |
7 # | |
8 # adlc-updater <file> <source-dir> <target-dir> | |
9 # | |
475
284d0af00d53
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
91
diff
changeset
|
10 fix_lines() { |
284d0af00d53
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
91
diff
changeset
|
11 # repair bare #line directives in $1 to refer to $2 |
284d0af00d53
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
91
diff
changeset
|
12 awk < $1 > $1+ ' |
284d0af00d53
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
91
diff
changeset
|
13 /^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next} |
284d0af00d53
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
91
diff
changeset
|
14 {print} |
284d0af00d53
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
91
diff
changeset
|
15 ' F2=$2 |
284d0af00d53
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
91
diff
changeset
|
16 mv $1+ $1 |
284d0af00d53
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
91
diff
changeset
|
17 } |
1831 | 18 fix_lines $2/$1 $3/$1 |
19 [ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \ | |
475
284d0af00d53
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
91
diff
changeset
|
20 ( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 ) |