aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@google.com>2016-06-09 12:20:25 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-06-09 12:20:25 -0700
commit2843c42e594bf45f48a29f4195ec39aeeb92b2bc (patch)
tree41203f3cb9dbac5f0b15d7457c17608c45c69d8d
parente239547269c7e6677a7ed6ecdf67234fda662427 (diff)
Revert of Disable tail calls inside Simple GM functions. (patchset #1 id:1 of https://codereview.chromium.org/2050473006/ )
Reason for revert: Appears to have broken Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug Original issue's description: > Disable tail calls inside Simple GM functions. > > I haven't found any way to turn off the particular optimization (-foptimize-sibling-calls) > per-function, but I can control optimization settings coarsely: > > - on GCC, we can pick a particular -O level, so I've picked -O1 which does not > enable -foptimize-sibling-calls > - on Clang, we can only disable all optimization for a function > - have no idea about MSVC > > This should make sure the simple GM functions, e.g. all_bitmap_configs_GM(), > show up on stack traces when we crash. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050473006 > > Committed: https://skia.googlesource.com/skia/+/eee3ced68f787aadc47fa274ca8e13b354ec920a TBR=reed@google.com,mtklein@chromium.org BUG=skia: CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug-Trybot Review-Url: https://codereview.chromium.org/2051193002
-rw-r--r--gm/gm.h18
1 files changed, 4 insertions, 14 deletions
diff --git a/gm/gm.h b/gm/gm.h
index 6fe59c2726..e00a650f33 100644
--- a/gm/gm.h
+++ b/gm/gm.h
@@ -34,20 +34,10 @@ struct GrContextOptions;
DEF_SIMPLE_GM_BG_NAME(NAME, CANVAS, W, H, SK_ColorWHITE, SkString(#NAME))
#define DEF_SIMPLE_GM_BG(NAME, CANVAS, W, H, BGCOLOR)\
DEF_SIMPLE_GM_BG_NAME(NAME, CANVAS, W, H, BGCOLOR, SkString(#NAME))
-
-// Disable tail calls in Simple GM functions to make sure they appear on any stack trace.
-#if defined(__clang__)
- #define DISABLE_TAIL_CALLS __attribute__((optnone))
-#elif defined(__GNUC__)
- #define DISABLE_TAIL_CALLS __attribute__((optimize("-O1")))
-#else
- #define DISABLE_TAIL_CALLS /*TODO: MSVC*/
-#endif
-
-#define DEF_SIMPLE_GM_BG_NAME(NAME, CANVAS, W, H, BGCOLOR, NAME_STR) \
- static void DISABLE_TAIL_CALLS SK_MACRO_CONCAT(NAME, _GM)(SkCanvas * CANVAS); \
- DEF_GM(return new skiagm::SimpleGM(NAME_STR, SK_MACRO_CONCAT(NAME, _GM), \
- SkISize::Make(W, H), BGCOLOR);) \
+#define DEF_SIMPLE_GM_BG_NAME(NAME, CANVAS, W, H, BGCOLOR, NAME_STR) \
+ static void SK_MACRO_CONCAT(NAME, _GM)(SkCanvas * CANVAS); \
+ DEF_GM(return new skiagm::SimpleGM(NAME_STR, SK_MACRO_CONCAT(NAME, _GM), \
+ SkISize::Make(W, H), BGCOLOR);) \
void SK_MACRO_CONCAT(NAME, _GM)(SkCanvas * CANVAS)
namespace skiagm {