wardite 0.8.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,9 @@ module Wardite
4
4
  module Evaluator
5
5
  # @rbs runtime: Runtime
6
6
  # @rbs frame: Frame
7
- # @rbs insn: Op
8
- # @rbs return: void
9
- def self.i64_eval_insn: (Runtime runtime, Frame frame, Op insn) -> void
7
+ # @rbs code: Symbol
8
+ # @rbs operand: Array[operandItem]
9
+ # @rbs return: bool?
10
+ def self.i64_eval_insn: (Runtime runtime, Frame frame, Symbol code, Array[operandItem] operand) -> bool?
10
11
  end
11
12
  end
@@ -17,6 +17,8 @@ module Wardite
17
17
 
18
18
  attr_reader yjit: bool
19
19
 
20
+ attr_reader profile_file_path: String?
21
+
20
22
  # @rbs args: Array[String]
21
23
  # @rbs return: void
22
24
  def initialize: (Array[String] args) -> void
@@ -32,6 +34,9 @@ module Wardite
32
34
  # @rbs return: void
33
35
  def run: () -> void
34
36
 
37
+ # @rbs return: void
38
+ def __run: () -> void
39
+
35
40
  # @rbs return: void
36
41
  def invoke_function: () -> void
37
42
 
@@ -4,8 +4,9 @@ module Wardite
4
4
  module Evaluator
5
5
  # @rbs runtime: Runtime
6
6
  # @rbs frame: Frame
7
- # @rbs insn: Op
8
- # @rbs return: void
9
- def self.convert_eval_insn: (Runtime runtime, Frame frame, Op insn) -> void
7
+ # @rbs code: Symbol
8
+ # @rbs operand: Array[operandItem]
9
+ # @rbs return: bool?
10
+ def self.convert_eval_insn: (Runtime runtime, Frame frame, Symbol code, Array[operandItem] operand) -> bool?
10
11
  end
11
12
  end
@@ -9,11 +9,11 @@ module Wardite
9
9
 
10
10
  FC_SYMS: Array[Symbol]
11
11
 
12
- # @rbs return: Hash[Integer, Symbol]
13
- def self.table: () -> Hash[Integer, Symbol]
12
+ OPERANDS: Array[Array[Symbol]]
14
13
 
15
- # @rbs return: Hash[Integer, Symbol]
16
- def self.fc_table: () -> Hash[Integer, Symbol]
14
+ NAMESPACES: Array[Symbol]
15
+
16
+ FC_OPERANDS: Array[Symbol]
17
17
 
18
18
  attr_accessor namespace: Symbol
19
19
 
@@ -24,18 +24,22 @@ module Wardite
24
24
 
25
25
  attr_accessor meta: Hash[Symbol, Integer]
26
26
 
27
+ # $OP_COUNT = 0
28
+ # END {
29
+ # puts "Total opcodes: #{$OP_COUNT}"
30
+ # }
27
31
  # @rbs namespace: Symbol
28
32
  # @rbs code: Symbol
29
33
  # @rbs operand: Array[operandItem]
30
34
  def initialize: (Symbol namespace, Symbol code, Array[operandItem] operand) -> untyped
31
35
 
32
- # @rbs chr: String
33
- # @rbs return: [Symbol, Symbol]
34
- def self.to_sym: (String chr) -> [ Symbol, Symbol ]
36
+ # @rbs chr: Integer
37
+ # @rbs return: Symbol
38
+ def self.to_sym: (Integer chr) -> Symbol
35
39
 
36
40
  # @rbs lower: Integer
37
- # @rbs return: [Symbol, Symbol]
38
- def self.resolve_fc_sym: (Integer lower) -> [ Symbol, Symbol ]
41
+ # @rbs return: Symbol
42
+ def self.resolve_fc_sym: (Integer lower) -> Symbol
39
43
 
40
44
  # @rbs code: Symbol
41
45
  # @rbs return: Array[Symbol]
@@ -87,7 +87,7 @@ module Wardite
87
87
 
88
88
  attr_accessor locals_type: Array[Symbol]
89
89
 
90
- attr_accessor body: Array[Op]
90
+ attr_accessor body: Array[[ Symbol, Symbol, Array[operandItem], Integer?, Integer? ]]
91
91
 
92
92
  # @rbs &blk: (CodeBody) -> void
93
93
  # @rbs return: void
@@ -212,13 +212,13 @@ module Wardite
212
212
  def self.code_section: () -> CodeSection
213
213
 
214
214
  # @rbs buf: StringIO
215
- # @rbs return: Array[::Wardite::Op]
216
- def self.code_body: (StringIO buf) -> Array[::Wardite::Op]
215
+ # @rbs return: Array[[Symbol, Symbol, Array[operandItem], Integer?, Integer?]]
216
+ def self.code_body: (StringIO buf) -> Array[[ Symbol, Symbol, Array[operandItem], Integer?, Integer? ]]
217
217
 
218
218
  # @rbs c: String
219
219
  # @rbs buf: StringIO
220
- # @rbs return: [Symbol, Symbol]
221
- def self.resolve_code: (String c, StringIO buf) -> [ Symbol, Symbol ]
220
+ # @rbs return: [Symbol, Symbol, Array[Symbol]]
221
+ def self.resolve_code: (String c, StringIO buf) -> [ Symbol, Symbol, Array[Symbol] ]
222
222
 
223
223
  # @rbs return: DataSection
224
224
  def self.data_section: () -> DataSection
@@ -230,13 +230,13 @@ module Wardite
230
230
  # @rbs return: String
231
231
  def self.fetch_insn_while_end: (StringIO sbuf) -> String
232
232
 
233
- # @rbs ops: Array[Op]
233
+ # @rbs ops: Array[[Symbol, Symbol, Array[operandItem], Integer?, Integer?]]
234
234
  # @rbs return: Integer
235
- def self.decode_expr: (Array[Op] ops) -> Integer
235
+ def self.decode_expr: (Array[[ Symbol, Symbol, Array[operandItem], Integer?, Integer? ]] ops) -> Integer
236
236
 
237
- # @rbs ops: Array[Op]
237
+ # @rbs ops: Array[[Symbol, Symbol, Array[operandItem], Integer?, Integer?]]
238
238
  # @rbs return: wasmValue
239
- def self.decode_global_expr: (Array[Op] ops) -> wasmValue
239
+ def self.decode_global_expr: (Array[[ Symbol, Symbol, Array[operandItem], Integer?, Integer? ]] ops) -> wasmValue
240
240
 
241
241
  # @rbs return: ExportSection
242
242
  def self.export_section: () -> ExportSection
@@ -122,9 +122,9 @@ module Wardite
122
122
  def execute!: () -> void
123
123
 
124
124
  # @rbs frame: Frame
125
- # @rbs insn: Op
125
+ # @rbs insn: [Symbol, Symbol, Array[operandItem], Integer?, Integer?]
126
126
  # @rbs return: void
127
- def eval_insn: (Frame frame, Op insn) -> void
127
+ def eval_insn: (Frame frame, [ Symbol, Symbol, Array[operandItem], Integer?, Integer? ] insn) -> void
128
128
 
129
129
  # @rbs labels: Array[Label]
130
130
  # @rbs stack: Array[wasmValue]
@@ -172,7 +172,7 @@ module Wardite
172
172
 
173
173
  attr_accessor sp: Integer
174
174
 
175
- attr_accessor body: Array[Op]
175
+ attr_accessor body: Array[[ Symbol, Symbol, Array[Wardite::operandItem], Integer?, Integer? ]]
176
176
 
177
177
  attr_accessor arity: Integer
178
178
 
@@ -184,11 +184,11 @@ module Wardite
184
184
 
185
185
  # @rbs pc: Integer
186
186
  # @rbs sp: Integer
187
- # @rbs body: Array[Op]
187
+ # @rbs body: Array[[Symbol, Symbol, Array[Wardite::operandItem], Integer?, Integer?]]
188
188
  # @rbs arity: Integer
189
189
  # @rbs locals: Array[wasmValue]
190
190
  # @rbs returb: void
191
- def initialize: (Integer pc, Integer sp, Array[Op] body, Integer arity, Array[wasmValue] locals) -> untyped
191
+ def initialize: (Integer pc, Integer sp, Array[[ Symbol, Symbol, Array[Wardite::operandItem], Integer?, Integer? ]] body, Integer arity, Array[wasmValue] locals) -> untyped
192
192
  end
193
193
 
194
194
  class Label
@@ -362,8 +362,8 @@ module Wardite
362
362
  # @rbs return: void
363
363
  def initialize: (Array[Symbol] callsig, Array[Symbol] retsig, CodeSection::CodeBody code_body) -> void
364
364
 
365
- # @rbs return: Array[Op]
366
- def body: () -> Array[Op]
365
+ # @rbs return: Array[[Symbol, Symbol, Array[operandItem], Integer?, Integer?]]
366
+ def body: () -> Array[[ Symbol, Symbol, Array[operandItem], Integer?, Integer? ]]
367
367
 
368
368
  # @rbs return: Array[Symbol]
369
369
  def locals_type: () -> Array[Symbol]
data/sig/vernier.rbs ADDED
@@ -0,0 +1,3 @@
1
+ module Vernier
2
+ def self.profile: (?out: String) { (void) -> void } -> void
3
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wardite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uchio Kondo
@@ -36,6 +36,7 @@ files:
36
36
  - examples/i32_bench_original.wat
37
37
  - examples/i32_const.wat
38
38
  - examples/i32_store.wat
39
+ - examples/load_perf.rb
39
40
  - examples/local_set.wat
40
41
  - examples/loop.wat
41
42
  - examples/memory.wat
@@ -100,6 +101,7 @@ files:
100
101
  - sig/generated/wardite/wasi/dirent_cache.rbs
101
102
  - sig/generated/wardite/wasi/preopens.rbs
102
103
  - sig/generated/wardite/wasm_module.rbs
104
+ - sig/vernier.rbs
103
105
  - sig/wardite.rbs
104
106
  homepage: https://github.com/udzura/wardite
105
107
  licenses: []