jscore: Allocate target dependencies at once

MultiPart: 3/5
Change-Id: I8e00e1eea85047fbd6923ff8243cd02a383067f0
diff --git a/go/src/v.io/x/js.core/stress/stress.vdl.go b/go/src/v.io/x/js.core/stress/stress.vdl.go
index 0daebc1..cfdeff0 100644
--- a/go/src/v.io/x/js.core/stress/stress.vdl.go
+++ b/go/src/v.io/x/js.core/stress/stress.vdl.go
@@ -85,7 +85,10 @@
 }
 
 type StressResultsTarget struct {
-	Value *StressResults
+	Value             *StressResults
+	iterationsTarget  vdl.Int64Target
+	qpsTarget         vdl.Float64Target
+	msecsPerRpcTarget vdl.Float64Target
 	vdl.TargetBase
 	vdl.FieldsTargetBase
 }
@@ -99,14 +102,17 @@
 func (t *StressResultsTarget) StartField(name string) (key, field vdl.Target, _ error) {
 	switch name {
 	case "Iterations":
-		val, err := &vdl.Int64Target{Value: &t.Value.Iterations}, error(nil)
-		return nil, val, err
+		t.iterationsTarget.Value = &t.Value.Iterations
+		target, err := &t.iterationsTarget, error(nil)
+		return nil, target, err
 	case "Qps":
-		val, err := &vdl.Float64Target{Value: &t.Value.Qps}, error(nil)
-		return nil, val, err
+		t.qpsTarget.Value = &t.Value.Qps
+		target, err := &t.qpsTarget, error(nil)
+		return nil, target, err
 	case "MsecsPerRpc":
-		val, err := &vdl.Float64Target{Value: &t.Value.MsecsPerRpc}, error(nil)
-		return nil, val, err
+		t.msecsPerRpcTarget.Value = &t.Value.MsecsPerRpc
+		target, err := &t.msecsPerRpcTarget, error(nil)
+		return nil, target, err
 	default:
 		return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_v_io_x_js_core_stress_StressResults)
 	}
diff --git a/go/src/v.io/x/js.core/test_service/test_service.vdl.go b/go/src/v.io/x/js.core/test_service/test_service.vdl.go
index ce5208b..b7207a2 100644
--- a/go/src/v.io/x/js.core/test_service/test_service.vdl.go
+++ b/go/src/v.io/x/js.core/test_service/test_service.vdl.go
@@ -57,8 +57,10 @@
 	return &KeyPageResultTarget{Value: m}
 }
 
+// KeyPageResult
 type KeyPageResultTarget struct {
-	Value *KeyPageResult
+	Value      *KeyPageResult
+	elemTarget vdl.StringTarget
 	vdl.TargetBase
 	vdl.ListTargetBase
 }
@@ -70,7 +72,9 @@
 	return t, nil
 }
 func (t *KeyPageResultTarget) StartElem(index int) (elem vdl.Target, _ error) {
-	return &vdl.StringTarget{Value: &(*t.Value)[index]}, error(nil)
+	t.elemTarget.Value = &(*t.Value)[index]
+	target, err := &t.elemTarget, error(nil)
+	return target, err
 }
 func (t *KeyPageResultTarget) FinishElem(elem vdl.Target) error {
 	return nil
@@ -142,7 +146,9 @@
 }
 
 type KeyValuePairTarget struct {
-	Value *KeyValuePair
+	Value     *KeyValuePair
+	keyTarget vdl.StringTarget
+
 	vdl.TargetBase
 	vdl.FieldsTargetBase
 }
@@ -156,11 +162,12 @@
 func (t *KeyValuePairTarget) StartField(name string) (key, field vdl.Target, _ error) {
 	switch name {
 	case "Key":
-		val, err := &vdl.StringTarget{Value: &t.Value.Key}, error(nil)
-		return nil, val, err
+		t.keyTarget.Value = &t.Value.Key
+		target, err := &t.keyTarget, error(nil)
+		return nil, target, err
 	case "Value":
-		val, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.Value))
-		return nil, val, err
+		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.Value))
+		return nil, target, err
 	default:
 		return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_v_io_x_js_core_test_service_KeyValuePair)
 	}
@@ -234,7 +241,9 @@
 }
 
 type TestCaveatDataTarget struct {
-	Value *TestCaveatData
+	Value   *TestCaveatData
+	aTarget vdl.StringTarget
+
 	vdl.TargetBase
 	vdl.FieldsTargetBase
 }
@@ -248,11 +257,12 @@
 func (t *TestCaveatDataTarget) StartField(name string) (key, field vdl.Target, _ error) {
 	switch name {
 	case "A":
-		val, err := &vdl.StringTarget{Value: &t.Value.A}, error(nil)
-		return nil, val, err
+		t.aTarget.Value = &t.Value.A
+		target, err := &t.aTarget, error(nil)
+		return nil, target, err
 	case "B":
-		val, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.B))
-		return nil, val, err
+		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.B))
+		return nil, target, err
 	default:
 		return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_v_io_x_js_core_test_service_TestCaveatData)
 	}