| Index: src/wasm/wasm-module.h
|
| diff --git a/src/wasm/wasm-module.h b/src/wasm/wasm-module.h
|
| index 67fdef6cd6eee9626a35d29437d1aa21d8ec40fa..366cca9d340431e7751d191b76b6014f93ebb39e 100644
|
| --- a/src/wasm/wasm-module.h
|
| +++ b/src/wasm/wasm-module.h
|
| @@ -158,8 +158,6 @@
|
| };
|
|
|
| enum ModuleOrigin { kWasmOrigin, kAsmJsOrigin };
|
| -
|
| -class WasmCompiledModule;
|
|
|
| // Static representation of a module.
|
| struct WasmModule {
|
| @@ -242,8 +240,8 @@
|
| Isolate* isolate, ErrorThrower* thrower, Handle<JSObject> module_object,
|
| Handle<JSReceiver> ffi, Handle<JSArrayBuffer> memory);
|
|
|
| - MaybeHandle<WasmCompiledModule> CompileFunctions(Isolate* isolate,
|
| - ErrorThrower* thrower) const;
|
| + MaybeHandle<FixedArray> CompileFunctions(Isolate* isolate,
|
| + ErrorThrower* thrower) const;
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(WasmModule);
|
| @@ -341,115 +339,6 @@
|
| typedef std::vector<std::pair<int, int>> FunctionOffsets;
|
| typedef Result<FunctionOffsets> FunctionOffsetsResult;
|
|
|
| -class WasmCompiledModule : public FixedArray {
|
| - public:
|
| - static WasmCompiledModule* cast(Object* fixed_array) {
|
| - return reinterpret_cast<WasmCompiledModule*>(fixed_array);
|
| - }
|
| -
|
| -#define WCM_OBJECT_OR_WEAK(TYPE, NAME, ID) \
|
| - Handle<TYPE> NAME() const { return handle(ptr_to_##NAME()); } \
|
| - \
|
| - MaybeHandle<TYPE> maybe_##NAME() const { \
|
| - if (has_##NAME()) return NAME(); \
|
| - return MaybeHandle<TYPE>(); \
|
| - } \
|
| - \
|
| - TYPE* ptr_to_##NAME() const { \
|
| - Object* obj = get(ID); \
|
| - if (!obj->Is##TYPE()) return nullptr; \
|
| - return TYPE::cast(obj); \
|
| - } \
|
| - \
|
| - void set_##NAME(Handle<TYPE> value) { set_ptr_to_##NAME(*value); } \
|
| - \
|
| - void set_ptr_to_##NAME(TYPE* value) { set(ID, value); } \
|
| - \
|
| - bool has_##NAME() const { return get(ID)->Is##TYPE(); } \
|
| - \
|
| - void reset_##NAME() { set_undefined(ID); }
|
| -
|
| -#define WCM_OBJECT(TYPE, NAME) WCM_OBJECT_OR_WEAK(TYPE, NAME, kID_##NAME)
|
| -
|
| -#define WCM_SMALL_NUMBER(TYPE, NAME) \
|
| - TYPE NAME() const { \
|
| - return static_cast<TYPE>(Smi::cast(get(kID_##NAME))->value()); \
|
| - } \
|
| - \
|
| - void set_##NAME(TYPE value) { \
|
| - set(kID_##NAME, Smi::FromInt(static_cast<int>(value))); \
|
| - }
|
| -
|
| -#define WCM_LARGE_NUMBER(TYPE, NAME) \
|
| - TYPE NAME() const { \
|
| - return static_cast<TYPE>(HeapNumber::cast(get(kID_##NAME))->value()); \
|
| - } \
|
| - \
|
| - void set_##NAME(TYPE value) { \
|
| - HeapNumber::cast(get(kID_##NAME))->set_value(static_cast<double>(value)); \
|
| - }
|
| -
|
| -#define WCM_WEAK_LINK(TYPE, NAME) \
|
| - WCM_OBJECT_OR_WEAK(WeakCell, weak_##NAME, kID_##NAME); \
|
| - \
|
| - Handle<TYPE> NAME() const { \
|
| - return handle(TYPE::cast(weak_##NAME()->value())); \
|
| - }
|
| -
|
| -#define WCM_PROPERTY_TABLE(MACRO) \
|
| - MACRO(OBJECT, FixedArray, code_table) \
|
| - MACRO(OBJECT, FixedArray, import_data) \
|
| - MACRO(OBJECT, FixedArray, exports) \
|
| - MACRO(OBJECT, FixedArray, startup_function) \
|
| - MACRO(OBJECT, FixedArray, indirect_function_tables) \
|
| - MACRO(OBJECT, String, module_bytes) \
|
| - MACRO(OBJECT, ByteArray, function_names) \
|
| - MACRO(LARGE_NUMBER, uint32_t, min_required_memory) \
|
| - MACRO(OBJECT, FixedArray, data_segments_info) \
|
| - MACRO(OBJECT, ByteArray, data_segments) \
|
| - MACRO(LARGE_NUMBER, uint32_t, globals_size) \
|
| - MACRO(LARGE_NUMBER, uint32_t, mem_size) \
|
| - MACRO(OBJECT, JSArrayBuffer, mem_start) \
|
| - MACRO(SMALL_NUMBER, bool, export_memory) \
|
| - MACRO(SMALL_NUMBER, ModuleOrigin, origin) \
|
| - MACRO(WEAK_LINK, WasmCompiledModule, next_instance) \
|
| - MACRO(WEAK_LINK, WasmCompiledModule, prev_instance) \
|
| - MACRO(WEAK_LINK, JSObject, owning_instance) \
|
| - MACRO(WEAK_LINK, JSObject, module_object)
|
| -
|
| - private:
|
| - enum PropertyIndices {
|
| -#define INDICES(IGNORE1, IGNORE2, NAME) kID_##NAME,
|
| - WCM_PROPERTY_TABLE(INDICES) Count
|
| -#undef INDICES
|
| - };
|
| -
|
| - public:
|
| - static Handle<WasmCompiledModule> New(Isolate* isolate) {
|
| - Handle<FixedArray> ret =
|
| - isolate->factory()->NewFixedArray(PropertyIndices::Count, TENURED);
|
| - Handle<HeapNumber> number;
|
| -#define WCM_INIT_OBJECT(IGNORE1, IGNORE2)
|
| -#define WCM_INIT_WEAK_LINK(IGNORE1, IGNORE2)
|
| -#define WCM_INIT_SMALL_NUMBER(IGNORE1, IGNORE2)
|
| -#define WCM_INIT_LARGE_NUMBER(IGNORE, NAME) \
|
| - number = isolate->factory()->NewHeapNumber(0.0, MUTABLE, TENURED); \
|
| - ret->set(kID_##NAME, *number);
|
| -
|
| -#define INITIALIZER(KIND, TYPE, NAME) WCM_INIT_##KIND(TYPE, NAME)
|
| - WCM_PROPERTY_TABLE(INITIALIZER)
|
| -#undef INITIALIZER
|
| - return handle(WasmCompiledModule::cast(*ret));
|
| - }
|
| -
|
| -#define DECLARATION(KIND, TYPE, NAME) WCM_##KIND(TYPE, NAME)
|
| - WCM_PROPERTY_TABLE(DECLARATION)
|
| -#undef DECLARATION
|
| -
|
| - private:
|
| - DISALLOW_IMPLICIT_CONSTRUCTORS(WasmCompiledModule);
|
| -};
|
| -
|
| // Extract a function name from the given wasm object.
|
| // Returns "<WASM UNNAMED>" if the function is unnamed or the name is not a
|
| // valid UTF-8 string.
|
|
|