Index: src/compiler/wasm-compiler.cc |
diff --git a/src/compiler/wasm-compiler.cc b/src/compiler/wasm-compiler.cc |
index e60d47ed902ecc19ec47d2db9d0722d051fab2ce..69699eacf48c8b25a78e37b0fe00b153f6286dc2 100644 |
--- a/src/compiler/wasm-compiler.cc |
+++ b/src/compiler/wasm-compiler.cc |
@@ -2760,14 +2760,14 @@ Handle<JSFunction> CompileJSToWasmWrapper( |
#else |
FLAG_print_opt_code || FLAG_trace_turbo || FLAG_trace_turbo_graph; |
#endif |
- const char* func_name = "js-to-wasm"; |
+ Vector<const char> func_name = ArrayVector("js-to-wasm"); |
static unsigned id = 0; |
Vector<char> buffer; |
if (debugging) { |
buffer = Vector<char>::New(128); |
- SNPrintF(buffer, "js-to-wasm#%d", id); |
- func_name = buffer.start(); |
+ int chars = SNPrintF(buffer, "js-to-wasm#%d", id); |
+ func_name = Vector<const char>::cast(buffer.SubVector(0, chars)); |
} |
CompilationInfo info(func_name, isolate, &zone, flags); |
@@ -2836,13 +2836,13 @@ Handle<Code> CompileWasmToJSWrapper(Isolate* isolate, wasm::ModuleEnv* module, |
#else |
FLAG_print_opt_code || FLAG_trace_turbo || FLAG_trace_turbo_graph; |
#endif |
- const char* func_name = "wasm-to-js"; |
+ Vector<const char> func_name = ArrayVector("wasm-to-js"); |
static unsigned id = 0; |
Vector<char> buffer; |
if (debugging) { |
buffer = Vector<char>::New(128); |
- SNPrintF(buffer, "wasm-to-js#%d", id); |
- func_name = buffer.start(); |
+ int chars = SNPrintF(buffer, "wasm-to-js#%d", id); |
+ func_name = Vector<const char>::cast(buffer.SubVector(0, chars)); |
} |
CompilationInfo info(func_name, isolate, &zone, flags); |
@@ -2950,23 +2950,27 @@ Handle<Code> CompileWasmFunction(wasm::ErrorThrower& thrower, Isolate* isolate, |
#else |
FLAG_print_opt_code || FLAG_trace_turbo || FLAG_trace_turbo_graph; |
#endif |
- const char* func_name = "wasm"; |
+ Vector<const char> func_name = |
+ module_env->module |
+ ->GetNameOrNull(function.name_offset, function.name_length) |
titzer
2016/04/22 11:46:30
You should probably just make this method return V
Clemens Hammacher
2016/04/22 13:47:54
Done in https://codereview.chromium.org/1910213004
|
+ .toVec(); |
Vector<char> buffer; |
- if (debugging) { |
- buffer = Vector<char>::New(128); |
- wasm::WasmName name = |
- module_env->module->GetName(function.name_offset, function.name_length); |
- SNPrintF(buffer, "WASM_function_#%d:%.*s", function.func_index, name.length, |
- name.name); |
- func_name = buffer.start(); |
+ if (func_name.is_empty()) { |
+ if (debugging) { |
+ buffer = Vector<char>::New(128); |
+ int chars = SNPrintF(buffer, "WASM_function_#%d", function.func_index); |
+ func_name = Vector<const char>::cast(buffer.SubVector(0, chars)); |
+ } else { |
+ func_name = ArrayVector("wasm"); |
+ } |
} |
CompilationInfo info(func_name, isolate, &zone, flags); |
Handle<Code> code = Pipeline::GenerateWASMCode(&info, descriptor, &graph, |
&source_position_table); |
- if (debugging) { |
- buffer.Dispose(); |
- } |
+ |
+ buffer.Dispose(); |
+ |
if (!code.is_null()) { |
RecordFunctionCompilation(Logger::FUNCTION_TAG, &info, "WASM_function", |
function.func_index, |