Avoids allocation of exports map per instance (#1275)
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
This commit is contained in:
@@ -61,6 +61,9 @@ func TestNewHostModuleBuilder_Compile(t *testing.T) {
|
||||
ExportSection: []wasm.Export{
|
||||
{Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
Exports: map[string]*wasm.Export{
|
||||
"1": {Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
NameSection: &wasm.NameSection{
|
||||
FunctionNames: wasm.NameMap{{Index: 0, Name: "1"}},
|
||||
ModuleName: "host",
|
||||
@@ -84,6 +87,9 @@ func TestNewHostModuleBuilder_Compile(t *testing.T) {
|
||||
ExportSection: []wasm.Export{
|
||||
{Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
Exports: map[string]*wasm.Export{
|
||||
"1": {Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
NameSection: &wasm.NameSection{
|
||||
FunctionNames: wasm.NameMap{{Index: 0, Name: "get"}},
|
||||
LocalNames: []*wasm.NameMapAssoc{{Index: 0, NameMap: wasm.NameMap{{Index: 0, Name: "x"}}}},
|
||||
@@ -108,6 +114,9 @@ func TestNewHostModuleBuilder_Compile(t *testing.T) {
|
||||
ExportSection: []wasm.Export{
|
||||
{Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
Exports: map[string]*wasm.Export{
|
||||
"1": {Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
NameSection: &wasm.NameSection{
|
||||
FunctionNames: wasm.NameMap{{Index: 0, Name: "get"}},
|
||||
ResultNames: []*wasm.NameMapAssoc{{Index: 0, NameMap: wasm.NameMap{{Index: 0, Name: "x"}}}},
|
||||
@@ -131,6 +140,9 @@ func TestNewHostModuleBuilder_Compile(t *testing.T) {
|
||||
ExportSection: []wasm.Export{
|
||||
{Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
Exports: map[string]*wasm.Export{
|
||||
"1": {Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
NameSection: &wasm.NameSection{
|
||||
FunctionNames: wasm.NameMap{{Index: 0, Name: "1"}},
|
||||
ModuleName: "host",
|
||||
@@ -156,6 +168,10 @@ func TestNewHostModuleBuilder_Compile(t *testing.T) {
|
||||
{Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
{Name: "2", Type: wasm.ExternTypeFunc, Index: 1},
|
||||
},
|
||||
Exports: map[string]*wasm.Export{
|
||||
"1": {Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
"2": {Name: "2", Type: wasm.ExternTypeFunc, Index: 1},
|
||||
},
|
||||
NameSection: &wasm.NameSection{
|
||||
FunctionNames: wasm.NameMap{{Index: 0, Name: "1"}, {Index: 1, Name: "2"}},
|
||||
ModuleName: "host",
|
||||
@@ -181,6 +197,9 @@ func TestNewHostModuleBuilder_Compile(t *testing.T) {
|
||||
ExportSection: []wasm.Export{
|
||||
{Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
Exports: map[string]*wasm.Export{
|
||||
"1": {Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
NameSection: &wasm.NameSection{
|
||||
FunctionNames: wasm.NameMap{{Index: 0, Name: "1"}},
|
||||
ModuleName: "host",
|
||||
@@ -206,6 +225,9 @@ func TestNewHostModuleBuilder_Compile(t *testing.T) {
|
||||
ExportSection: []wasm.Export{
|
||||
{Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
Exports: map[string]*wasm.Export{
|
||||
"1": {Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
NameSection: &wasm.NameSection{
|
||||
FunctionNames: wasm.NameMap{{Index: 0, Name: "get"}},
|
||||
LocalNames: []*wasm.NameMapAssoc{{Index: 0, NameMap: wasm.NameMap{{Index: 0, Name: "x"}}}},
|
||||
@@ -235,6 +257,9 @@ func TestNewHostModuleBuilder_Compile(t *testing.T) {
|
||||
ExportSection: []wasm.Export{
|
||||
{Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
Exports: map[string]*wasm.Export{
|
||||
"1": {Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
},
|
||||
NameSection: &wasm.NameSection{
|
||||
FunctionNames: wasm.NameMap{{Index: 0, Name: "1"}},
|
||||
ModuleName: "host",
|
||||
@@ -267,6 +292,10 @@ func TestNewHostModuleBuilder_Compile(t *testing.T) {
|
||||
{Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
{Name: "2", Type: wasm.ExternTypeFunc, Index: 1},
|
||||
},
|
||||
Exports: map[string]*wasm.Export{
|
||||
"1": {Name: "1", Type: wasm.ExternTypeFunc, Index: 0},
|
||||
"2": {Name: "2", Type: wasm.ExternTypeFunc, Index: 1},
|
||||
},
|
||||
NameSection: &wasm.NameSection{
|
||||
FunctionNames: wasm.NameMap{{Index: 0, Name: "1"}, {Index: 1, Name: "2"}},
|
||||
ModuleName: "host",
|
||||
@@ -378,6 +407,7 @@ func requireHostModuleEquals(t *testing.T, expected, actual *wasm.Module) {
|
||||
require.Equal(t, expected.MemorySection, actual.MemorySection)
|
||||
require.Equal(t, expected.GlobalSection, actual.GlobalSection)
|
||||
require.Equal(t, expected.ExportSection, actual.ExportSection)
|
||||
require.Equal(t, expected.Exports, actual.Exports)
|
||||
require.Equal(t, expected.StartSection, actual.StartSection)
|
||||
require.Equal(t, expected.ElementSection, actual.ElementSection)
|
||||
require.Equal(t, expected.DataSection, actual.DataSection)
|
||||
|
||||
Reference in New Issue
Block a user