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)
}