diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2018-05-21 02:58:48 -0400 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-05-22 10:00:23 -0400 |
commit | 32d0572a75c81a2c70394f9e110ca080b9a733b1 (patch) | |
tree | e6355b35da23d5818cac3691463a9d32c04d00b4 | |
parent | 4c1d9bb0b5d3c0b3468ac8e68a05972eb957630f (diff) |
coccinelle: mini_lock: improve performance
Replace <+... ...+> by ... when any. <+... ...+> is slow, and in some
obscure cases involving backward jumps it doesn't force the unlock to
actually come after the end of the if.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
-rw-r--r-- | scripts/coccinelle/locks/mini_lock.cocci | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/scripts/coccinelle/locks/mini_lock.cocci b/scripts/coccinelle/locks/mini_lock.cocci index 47f649b0ea87..19c6ee5b986b 100644 --- a/scripts/coccinelle/locks/mini_lock.cocci +++ b/scripts/coccinelle/locks/mini_lock.cocci | |||
@@ -67,12 +67,14 @@ identifier lock,unlock; | |||
67 | @@ | 67 | @@ |
68 | 68 | ||
69 | *lock(E1@p,...); | 69 | *lock(E1@p,...); |
70 | <+... when != E1 | 70 | ... when != E1 |
71 | when any | ||
71 | if (...) { | 72 | if (...) { |
72 | ... when != E1 | 73 | ... when != E1 |
73 | * return@r ...; | 74 | * return@r ...; |
74 | } | 75 | } |
75 | ...+> | 76 | ... when != E1 |
77 | when any | ||
76 | *unlock@up(E1,...); | 78 | *unlock@up(E1,...); |
77 | 79 | ||
78 | @script:python depends on org@ | 80 | @script:python depends on org@ |