aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
diff options
context:
space:
mode:
authorGravatar Taras Tsugrii <ttsugrii@fb.com>2018-07-25 14:09:04 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-25 14:10:29 -0700
commit03bd99d4a4a6ae51b45907fc4b8677eeafe1d6c8 (patch)
treeb589369de5b229a6abbe6ca0afba22a98afa4269 /src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
parent7fe7047e6e6aec82f78cca366f0604dd606a5e7e (diff)
[Perf] Remove unnecessary ImmutableMap.copyOf invocation.
`keyWordArgs` is already `ImmutableMap<String, Object>` and `copyOf` contains enough overhead to show up on parse profiles. Closes #5651. PiperOrigin-RevId: 206051798
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
index 6bd4c9e2e8..53b892dc37 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
@@ -836,16 +836,14 @@ public final class FuncallExpression extends Expression {
: positionals.subList(1, positionals.size());
if (function != null) {
- return function.call(
- positionalArgs, ImmutableMap.copyOf(keyWordArgs), call, env);
+ return function.call(positionalArgs, keyWordArgs, call, env);
} else if (fieldValue != null) {
if (!(fieldValue instanceof BaseFunction)) {
throw new EvalException(
location, String.format("struct field '%s' is not a function", method));
}
function = (BaseFunction) fieldValue;
- return function.call(
- positionalArgs, ImmutableMap.copyOf(keyWordArgs), call, env);
+ return function.call(positionalArgs, keyWordArgs, call, env);
} else {
// When calling a Java method, the name is not in the Environment,
// so evaluating 'function' would fail.