[dart2wasm] Shorten JS interop specialization trampolines.

Change-Id: Ic177b956e135b3ca015ef8eb70861916cd70e0bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278998
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
diff --git a/pkg/dart2wasm/lib/js_runtime_generator.dart b/pkg/dart2wasm/lib/js_runtime_generator.dart
index 0c36340..de32e68 100644
--- a/pkg/dart2wasm/lib/js_runtime_generator.dart
+++ b/pkg/dart2wasm/lib/js_runtime_generator.dart
@@ -47,6 +47,7 @@
     String callArguments;
     String functionParameters;
     String object;
+    bool argumentsNeedParens = parameters.isEmpty || parameters.length > 1;
     if (isConstructor) {
       object = '';
       callArguments = parameters.join(',');
@@ -70,7 +71,7 @@
         for (int i = 0; i < parameters.length; i++) {
           keyValuePairs.add('${keys[i]}: ${parameters[i]}');
         }
-        bodyString = '{${keyValuePairs.join(',')}}';
+        bodyString = '({${keyValuePairs.join(',')}})';
         break;
       case _MethodType.constructor:
         bodyString = 'new $jsString($callArguments)';
@@ -85,9 +86,11 @@
         bodyString = '$object.$jsString = $callArguments';
         break;
     }
-    return """function($functionParameters) {
-      return $bodyString;
-    }""";
+    if (argumentsNeedParens) {
+      return '($functionParameters) => $bodyString';
+    } else {
+      return '$functionParameters => $bodyString';
+    }
   }
 }
 
@@ -446,7 +449,7 @@
     }
 
     // Create Dart procedure stub for JS method.
-    final jsMethodName = '${config.tag}${_jsTrampolineN++}';
+    final jsMethodName = '_${_jsTrampolineN++}';
     final dartProcedureName = '|$jsMethodName';
     final dartProcedure = Procedure(
         Name(dartProcedureName, _library),