Index: src/wasm/module-decoder.cc |
diff --git a/src/wasm/module-decoder.cc b/src/wasm/module-decoder.cc |
index 88d68344692046d09a589cf0f869f53d09b64bbc..bed97e6d51c57ddebcf791cc6f5dc9382b6b163a 100644 |
--- a/src/wasm/module-decoder.cc |
+++ b/src/wasm/module-decoder.cc |
@@ -1220,11 +1220,14 @@ class ModuleDecoder : public Decoder { |
} |
}; |
-ModuleResult DecodeWasmModuleInternal(Isolate* isolate, |
- const byte* module_start, |
- const byte* module_end, |
- bool verify_functions, |
- ModuleOrigin origin, bool is_sync) { |
+} // namespace |
+ |
+ModuleResult DecodeWasmModule(Isolate* isolate, const byte* module_start, |
+ const byte* module_end, bool verify_functions, |
+ ModuleOrigin origin, bool is_sync) { |
+ TimedHistogramScope wasm_decode_module_time_scope( |
+ IsWasm(origin) ? isolate->counters()->wasm_decode_wasm_module_time() |
jochen (gone - plz use gerrit)
2017/06/08 22:15:36
same here
kschimpf
2017/06/09 20:03:36
Good point. This code was massively reorganized (i
|
+ : isolate->counters()->wasm_decode_asm_module_time()); |
size_t size = module_end - module_start; |
if (module_start > module_end) return ModuleResult::Error("start > end"); |
if (size >= kV8MaxWasmModuleSize) |
@@ -1257,24 +1260,6 @@ ModuleResult DecodeWasmModuleInternal(Isolate* isolate, |
return result; |
} |
-} // namespace |
- |
-ModuleResult DecodeWasmModule(Isolate* isolate, const byte* module_start, |
- const byte* module_end, bool verify_functions, |
- ModuleOrigin origin, bool is_sync) { |
- if (is_sync) { |
- // TODO(karlschimpf): Make this work when asynchronous. |
- // https://bugs.chromium.org/p/v8/issues/detail?id=6361 |
- HistogramTimerScope wasm_decode_module_time_scope( |
- IsWasm(origin) ? isolate->counters()->wasm_decode_wasm_module_time() |
- : isolate->counters()->wasm_decode_asm_module_time()); |
- return DecodeWasmModuleInternal(isolate, module_start, module_end, |
- verify_functions, origin, true); |
- } |
- return DecodeWasmModuleInternal(isolate, module_start, module_end, |
- verify_functions, origin, false); |
-} |
- |
FunctionSig* DecodeWasmSignatureForTesting(Zone* zone, const byte* start, |
const byte* end) { |
ModuleDecoder decoder(start, end, kWasmOrigin); |
@@ -1287,14 +1272,18 @@ WasmInitExpr DecodeWasmInitExprForTesting(const byte* start, const byte* end) { |
return decoder.DecodeInitExpr(start); |
} |
-namespace { |
- |
-FunctionResult DecodeWasmFunctionInternal(Isolate* isolate, Zone* zone, |
- ModuleBytesEnv* module_env, |
- const byte* function_start, |
- const byte* function_end, |
- bool is_sync) { |
+FunctionResult DecodeWasmFunction(Isolate* isolate, Zone* zone, |
+ ModuleBytesEnv* module_env, |
+ const byte* function_start, |
+ const byte* function_end, bool is_sync) { |
size_t size = function_end - function_start; |
+ bool is_wasm = module_env->module_env.is_wasm(); |
+ (is_wasm ? isolate->counters()->wasm_wasm_function_size_bytes() |
+ : isolate->counters()->wasm_asm_function_size_bytes()) |
+ ->AddSample(static_cast<int>(size)); |
+ TimedHistogramScope wasm_decode_function_time_scope( |
+ is_wasm ? isolate->counters()->wasm_decode_wasm_function_time() |
+ : isolate->counters()->wasm_decode_asm_function_time()); |
if (function_start > function_end) |
return FunctionResult::Error("start > end"); |
if (size > kV8MaxWasmFunctionSize) |
@@ -1312,30 +1301,6 @@ FunctionResult DecodeWasmFunctionInternal(Isolate* isolate, Zone* zone, |
zone, module_env, std::unique_ptr<WasmFunction>(new WasmFunction())); |
} |
-} // namespace |
- |
-FunctionResult DecodeWasmFunction(Isolate* isolate, Zone* zone, |
- ModuleBytesEnv* module_env, |
- const byte* function_start, |
- const byte* function_end, bool is_sync) { |
- if (is_sync) { |
- // TODO(karlschimpf): Make this work when asynchronous. |
- // https://bugs.chromium.org/p/v8/issues/detail?id=6361 |
- size_t size = function_end - function_start; |
- bool is_wasm = module_env->module_env.is_wasm(); |
- (is_wasm ? isolate->counters()->wasm_wasm_function_size_bytes() |
- : isolate->counters()->wasm_asm_function_size_bytes()) |
- ->AddSample(static_cast<int>(size)); |
- HistogramTimerScope wasm_decode_function_time_scope( |
- is_wasm ? isolate->counters()->wasm_decode_wasm_function_time() |
- : isolate->counters()->wasm_decode_asm_function_time()); |
- return DecodeWasmFunctionInternal(isolate, zone, module_env, function_start, |
- function_end, true); |
- } |
- return DecodeWasmFunctionInternal(isolate, zone, module_env, function_start, |
- function_end, false); |
-} |
- |
AsmJsOffsetsResult DecodeAsmJsOffsets(const byte* tables_start, |
const byte* tables_end) { |
AsmJsOffsets table; |