Index: sdk/bin/pub_developer |
diff --git a/sdk/bin/pub_developer b/sdk/bin/pub_developer |
index 287bb7db508cf6d66af67c7eb73430d77bd6453e..1524a4ec7197691e2a0e312daeb2a8647032f63a 100755 |
--- a/sdk/bin/pub_developer |
+++ b/sdk/bin/pub_developer |
@@ -25,10 +25,25 @@ SDK_DIR="$(cd "${BIN_DIR}/.." ; pwd -P)" |
SNAPSHOT="$BIN_DIR/snapshots/pub.dart.snapshot" |
+unset VM_OPTIONS |
+declare -a VM_OPTIONS |
+ |
+# Give the VM extra memory for dart2js. |
+# TODO(rnystrom): Remove when #8355 is fixed. |
+VM_OPTIONS+=("--old_gen_heap_size=1024") |
+ |
+# Allow extra VM options to be passed in through an environment variable. |
+if [[ $DART_VM_OPTIONS ]]; then |
+ read -a OPTIONS <<< "$DART_VM_OPTIONS" |
+ VM_OPTIONS+=("${OPTIONS[@]}") |
+fi |
+ |
+VM_OPTIONS+=("--checked") |
+ |
if test -f "$SNAPSHOT"; then |
# We are running the snapshot in the built SDK. |
DART="$BIN_DIR/dart" |
- exec "$DART" --checked "$SNAPSHOT" "$@" |
+ exec "$DART" "${VM_OPTIONS[@]}" "$SNAPSHOT" "$@" |
else |
# We are running pub from source in the development repo. |
if [ -z "$DART_CONFIGURATION" ]; |
@@ -50,5 +65,5 @@ else |
PUB="$SDK_DIR/lib/_internal/pub/bin/pub.dart" |
- exec "$DART" "--checked" "--package-root=$PACKAGES_DIR" "$PUB" "$@" |
+ exec "$DART" "${VM_OPTIONS[@]}" "--package-root=$PACKAGES_DIR" "$PUB" "$@" |
fi |