Revision 81dee729
b/scripts/tracetool/backend/dtrace.py | ||
---|---|---|
73 | 73 |
'};') |
74 | 74 |
|
75 | 75 |
|
76 |
# Technically 'self' is not used by systemtap yet, but |
|
77 |
# they recommended we keep it in the reserved list anyway |
|
78 |
RESERVED_WORDS = ( |
|
79 |
'break', 'catch', 'continue', 'delete', 'else', 'for', |
|
80 |
'foreach', 'function', 'global', 'if', 'in', 'limit', |
|
81 |
'long', 'next', 'probe', 'return', 'self', 'string', |
|
82 |
'try', 'while' |
|
83 |
) |
|
84 |
|
|
76 | 85 |
def stap(events): |
77 | 86 |
for e in events: |
78 | 87 |
# Define prototype for probe arguments |
... | ... | |
87 | 96 |
if len(e.args) > 0: |
88 | 97 |
for name in e.args.names(): |
89 | 98 |
# Append underscore to reserved keywords |
90 |
if name in ('limit', 'in', 'next', 'self', 'function'):
|
|
99 |
if name in RESERVED_WORDS:
|
|
91 | 100 |
name += '_' |
92 | 101 |
out(' %s = $arg%d;' % (name, i)) |
93 | 102 |
i += 1 |
Also available in: Unified diff