Chromium Code Reviews| Index: src/isolate.cc |
| diff --git a/src/isolate.cc b/src/isolate.cc |
| index ffe102d44284e36907a3b80b73fd9d136069ac03..e31007069cbdd2ec34dce02fc73d1be60f306fdb 100644 |
| --- a/src/isolate.cc |
| +++ b/src/isolate.cc |
| @@ -523,9 +523,15 @@ Handle<Object> Isolate::CaptureSimpleStackTrace(Handle<JSReceiver> error_object, |
| // be a wasm object. |
| DCHECK(wasm::IsWasmInstance(*instance) || instance->IsUndefined(this)); |
| - int flags = wasm::WasmIsAsmJs(*instance, this) |
| - ? FrameArray::kIsAsmJsWasmFrame |
| - : FrameArray::kIsWasmFrame; |
| + int flags = 0; |
| + if (wasm::WasmIsAsmJs(*instance, this)) { |
| + flags |= FrameArray::kIsAsmJsWasmFrame; |
| + if (wasm_frame->at_to_number_conversion()) { |
| + flags |= FrameArray::kAsmJsAtNumberConversion; |
| + } |
| + } else { |
| + flags |= FrameArray::kIsWasmFrame; |
| + } |
| elements = |
| FrameArray::AppendWasmFrame(elements, instance, wasm_function_index, |
| @@ -1557,8 +1563,10 @@ bool Isolate::ComputeLocationFromStackTrace(MessageLocation* target, |
| int func_index = elements->WasmFunctionIndex(i)->value(); |
| int code_offset = elements->Offset(i)->value(); |
| int byte_pos = elements->Code(i)->SourcePosition(code_offset); |
| + bool at_tonumber_conversion = |
|
titzer
2016/12/08 14:08:50
at_to_number_conversion to be consistent with the
Clemens Hammacher
2016/12/08 15:26:21
Done.
|
| + elements->Flags(i)->value() & FrameArray::kAsmJsAtNumberConversion; |
| int source_pos = WasmCompiledModule::GetAsmJsSourcePosition( |
| - compiled_module, func_index, byte_pos); |
| + compiled_module, func_index, byte_pos, at_tonumber_conversion); |
| Handle<Script> script = compiled_module->script(); |
| *target = MessageLocation(script, source_pos, source_pos + 1); |