From 6edbf3b3fd0a6f2f49e08f74785571d4ff61185e Mon Sep 17 00:00:00 2001 From: Florian Weikert Date: Mon, 9 Nov 2015 21:33:26 +0000 Subject: Add profiler support for compiled Skylark. -- MOS_MIGRATED_REVID=107416625 --- .../java/com/google/devtools/build/lib/syntax/DotExpression.java | 8 +++++--- .../com/google/devtools/build/lib/syntax/UserDefinedFunction.java | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/syntax') diff --git a/src/main/java/com/google/devtools/build/lib/syntax/DotExpression.java b/src/main/java/com/google/devtools/build/lib/syntax/DotExpression.java index 4bc35865a4..76e8ba0243 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/DotExpression.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/DotExpression.java @@ -67,7 +67,7 @@ public final class DotExpression extends Expression { * Throws the correct error message if the result is null depending on the objValue. */ public static Object checkResult(Object objValue, Object result, String name, Location loc) - throws EvalException { + throws EvalException { if (result == null) { if (objValue instanceof ClassObject) { String customErrorMessage = ((ClassObject) objValue).errorMessage(name); @@ -75,8 +75,10 @@ public final class DotExpression extends Expression { throw new EvalException(loc, customErrorMessage); } } - throw new EvalException(loc, Printer.format("Object of type '%s' has no field %r", - EvalUtils.getDataTypeName(objValue), name)); + throw new EvalException( + loc, + Printer.format( + "Object of type '%s' has no field %r", EvalUtils.getDataTypeName(objValue), name)); } return result; } diff --git a/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java index cb6691c433..365681eca0 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java @@ -153,6 +153,8 @@ public class UserDefinedFunction extends BaseFunction { private Object callCompiledFunction(Object[] arguments, FuncallExpression ast, Environment env) { compilerDebug("Calling compiled function " + getLocationPathAndLine() + " " + getName()); try { + Profiler.instance().startTask(ProfilerTask.SKYLARK_USER_COMPILED_FN, + getLocationPathAndLine() + "#" + getName()); env.enterScope(this, ast, definitionGlobals); return method @@ -167,6 +169,7 @@ public class UserDefinedFunction extends BaseFunction { compilerDebug("Error running compiled version", e.getCause()); return null; } finally { + Profiler.instance().completeTask(ProfilerTask.SKYLARK_USER_COMPILED_FN); env.exitScope(); } } -- cgit v1.2.3