| Index: src/wasm/wasm-module-builder.h
|
| diff --git a/src/wasm/wasm-module-builder.h b/src/wasm/wasm-module-builder.h
|
| index 4f463b01df7c55d8ec8be840af2d72931bb320b8..82d32c2c7202af68030a1430a85ceaf835bb35dd 100644
|
| --- a/src/wasm/wasm-module-builder.h
|
| +++ b/src/wasm/wasm-module-builder.h
|
| @@ -88,10 +88,10 @@ class ZoneBuffer : public ZoneObject {
|
| }
|
| }
|
|
|
| - size_t offset() { return static_cast<size_t>(pos_ - buffer_); }
|
| - size_t size() { return static_cast<size_t>(pos_ - buffer_); }
|
| - const byte* begin() { return buffer_; }
|
| - const byte* end() { return pos_; }
|
| + size_t offset() const { return static_cast<size_t>(pos_ - buffer_); }
|
| + size_t size() const { return static_cast<size_t>(pos_ - buffer_); }
|
| + const byte* begin() const { return buffer_; }
|
| + const byte* end() const { return pos_; }
|
|
|
| void EnsureSpace(size_t size) {
|
| if ((pos_ + size) > end_) {
|
| @@ -135,10 +135,12 @@ class V8_EXPORT_PRIVATE WasmFunctionBuilder : public ZoneObject {
|
| void Export();
|
| void ExportAs(Vector<const char> name);
|
| void SetName(Vector<const char> name);
|
| + void AddAsmWasmOffset(int asm_position);
|
|
|
| void WriteSignature(ZoneBuffer& buffer) const;
|
| void WriteExport(ZoneBuffer& buffer) const;
|
| void WriteBody(ZoneBuffer& buffer) const;
|
| + void WriteAsmWasmOffsetTable(ZoneBuffer& buffer) const;
|
|
|
| bool exported() { return exported_; }
|
| uint32_t func_index() { return func_index_; }
|
| @@ -167,6 +169,11 @@ class V8_EXPORT_PRIVATE WasmFunctionBuilder : public ZoneObject {
|
| ZoneVector<uint32_t> f32_temps_;
|
| ZoneVector<uint32_t> f64_temps_;
|
| ZoneVector<DirectCallIndex> direct_calls_;
|
| +
|
| + // Delta-encoded mapping from wasm bytes to asm.js source positions.
|
| + ZoneBuffer asm_offsets_;
|
| + uint32_t last_asm_byte_offset_ = 0;
|
| + uint32_t last_asm_source_position_ = 0;
|
| };
|
|
|
| class WasmTemporary {
|
|
|