Use BuiltinFunction name for profiling
BuiltInFunction#call is pretty popular, avoid constructing a new string, or any
object for that matter, every time we call it. FWIW the class name probably
won't be particularly useful anyway since most built ins are anonymous.
--
MOS_MIGRATED_REVID=127318185
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
index eab18ce..533928c 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
@@ -20,13 +20,11 @@
import com.google.devtools.build.lib.skylarkinterface.SkylarkSignature;
import com.google.devtools.build.lib.syntax.SkylarkType.SkylarkFunctionType;
import com.google.devtools.build.lib.util.Preconditions;
-
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.NoSuchElementException;
-
import javax.annotation.Nullable;
/**
@@ -149,8 +147,7 @@
}
}
- Profiler.instance().startTask(ProfilerTask.SKYLARK_BUILTIN_FN,
- this.getClass().getName() + "#" + getName());
+ Profiler.instance().startTask(ProfilerTask.SKYLARK_BUILTIN_FN, getName());
// Last but not least, actually make an inner call to the function with the resolved arguments.
try {
env.enterScope(this, ast, env.getGlobals());