[llvm] r301330 - [WebAssembly] Read global index in init expression as LEB

Sam Clegg via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 25 10:11:56 PDT 2017


Author: sbc
Date: Tue Apr 25 12:11:56 2017
New Revision: 301330

URL: http://llvm.org/viewvc/llvm-project?rev=301330&view=rev
Log:
[WebAssembly] Read global index in init expression as LEB

Subscribers: jfb, dschuff

Differential Revision: https://reviews.llvm.org/D32462

Modified:
    llvm/trunk/lib/Object/WasmObjectFile.cpp
    llvm/trunk/lib/ObjectYAML/WasmYAML.cpp
    llvm/trunk/test/ObjectYAML/wasm/elem_section.yaml

Modified: llvm/trunk/lib/Object/WasmObjectFile.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/WasmObjectFile.cpp?rev=301330&r1=301329&r2=301330&view=diff
==============================================================================
--- llvm/trunk/lib/Object/WasmObjectFile.cpp (original)
+++ llvm/trunk/lib/Object/WasmObjectFile.cpp Tue Apr 25 12:11:56 2017
@@ -144,7 +144,7 @@ static Error readInitExpr(wasm::WasmInit
     Expr.Value.Float64 = readFloat64(Ptr);
     break;
   case wasm::WASM_OPCODE_GET_GLOBAL:
-    Expr.Value.Global = readUint32(Ptr);
+    Expr.Value.Global = readULEB128(Ptr);
     break;
   default:
     return make_error<GenericBinaryError>("Invalid opcode in init_expr",

Modified: llvm/trunk/lib/ObjectYAML/WasmYAML.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ObjectYAML/WasmYAML.cpp?rev=301330&r1=301329&r2=301330&view=diff
==============================================================================
--- llvm/trunk/lib/ObjectYAML/WasmYAML.cpp (original)
+++ llvm/trunk/lib/ObjectYAML/WasmYAML.cpp Tue Apr 25 12:11:56 2017
@@ -294,6 +294,9 @@ void MappingTraits<wasm::WasmInitExpr>::
   case wasm::WASM_OPCODE_F64_CONST:
     IO.mapRequired("Value", Expr.Value.Float64);
     break;
+  case wasm::WASM_OPCODE_GET_GLOBAL:
+    IO.mapRequired("Index", Expr.Value.Global);
+    break;
   }
 }
 

Modified: llvm/trunk/test/ObjectYAML/wasm/elem_section.yaml
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ObjectYAML/wasm/elem_section.yaml?rev=301330&r1=301329&r2=301330&view=diff
==============================================================================
--- llvm/trunk/test/ObjectYAML/wasm/elem_section.yaml (original)
+++ llvm/trunk/test/ObjectYAML/wasm/elem_section.yaml Tue Apr 25 12:11:56 2017
@@ -18,8 +18,8 @@ Sections:
         Functions:
           - 1
       - Offset:
-          Opcode:        I32_CONST
-          Value:         5
+          Opcode:        GET_GLOBAL
+          Index:         1
         Functions:
           - 4
 ...
@@ -34,7 +34,7 @@ Sections:
 # CHECK:           Value:            3
 # CHECK:         Functions: [ 1 ]
 # CHECK:       - Offset:
-# CHECK:           Opcode:           I32_CONST
-# CHECK:           Value:            5
+# CHECK:           Opcode:           GET_GLOBAL
+# CHECK:           Index:            1
 # CHECK:         Functions: [ 4 ]
 # CHECK: ...




More information about the llvm-commits mailing list