| OLD | NEW | 
|---|
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "src/runtime/runtime-utils.h" | 5 #include "src/runtime/runtime-utils.h" | 
| 6 | 6 | 
| 7 #include "src/arguments.h" | 7 #include "src/arguments.h" | 
| 8 #include "src/debug/debug-evaluate.h" | 8 #include "src/debug/debug-evaluate.h" | 
| 9 #include "src/debug/debug-frames.h" | 9 #include "src/debug/debug-frames.h" | 
| 10 #include "src/debug/debug-scopes.h" | 10 #include "src/debug/debug-scopes.h" | 
| (...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 519 | 519 | 
| 520   if (it.is_wasm()) { | 520   if (it.is_wasm()) { | 
| 521     // Create the details array (no dynamic information for wasm). | 521     // Create the details array (no dynamic information for wasm). | 
| 522     Handle<FixedArray> details = | 522     Handle<FixedArray> details = | 
| 523         isolate->factory()->NewFixedArray(kFrameDetailsFirstDynamicIndex); | 523         isolate->factory()->NewFixedArray(kFrameDetailsFirstDynamicIndex); | 
| 524 | 524 | 
| 525     // Add the frame id. | 525     // Add the frame id. | 
| 526     details->set(kFrameDetailsFrameIdIndex, *frame_id); | 526     details->set(kFrameDetailsFrameIdIndex, *frame_id); | 
| 527 | 527 | 
| 528     // Add the function name. | 528     // Add the function name. | 
| 529     Handle<Object> wasm_instance_or_undef(it.wasm_frame()->wasm_instance(), | 529     Handle<WasmCompiledModule> compiled_module( | 
| 530                                           isolate); | 530         it.wasm_frame()->wasm_instance()->get_compiled_module(), isolate); | 
| 531     int func_index = it.wasm_frame()->function_index(); | 531     int func_index = it.wasm_frame()->function_index(); | 
| 532     Handle<String> func_name = | 532     Handle<String> func_name = WasmCompiledModule::GetFunctionName( | 
| 533         wasm::GetWasmFunctionName(isolate, wasm_instance_or_undef, func_index); | 533         isolate, compiled_module, func_index); | 
| 534     details->set(kFrameDetailsFunctionIndex, *func_name); | 534     details->set(kFrameDetailsFunctionIndex, *func_name); | 
| 535 | 535 | 
| 536     // Add the script wrapper | 536     // Add the script wrapper | 
| 537     Handle<Object> script_wrapper = | 537     Handle<Object> script_wrapper = | 
| 538         Script::GetWrapper(frame_inspector.GetScript()); | 538         Script::GetWrapper(frame_inspector.GetScript()); | 
| 539     details->set(kFrameDetailsScriptIndex, *script_wrapper); | 539     details->set(kFrameDetailsScriptIndex, *script_wrapper); | 
| 540 | 540 | 
| 541     // Add the arguments count. | 541     // Add the arguments count. | 
| 542     details->set(kFrameDetailsArgumentCountIndex, Smi::kZero); | 542     details->set(kFrameDetailsArgumentCountIndex, Smi::kZero); | 
| 543 | 543 | 
| 544     // Add the locals count | 544     // Add the locals count | 
| 545     details->set(kFrameDetailsLocalCountIndex, Smi::kZero); | 545     details->set(kFrameDetailsLocalCountIndex, Smi::kZero); | 
| 546 | 546 | 
| 547     // Add the source position. | 547     // Add the source position. | 
| 548     // For wasm, it is function-local, so translate it to a module-relative | 548     // For wasm, it is function-local, so translate it to a module-relative | 
| 549     // position, such that together with the script it uniquely identifies the | 549     // position, such that together with the script it uniquely identifies the | 
| 550     // position. | 550     // position. | 
| 551     Handle<Object> positionValue; | 551     Handle<Object> positionValue; | 
| 552     if (position != kNoSourcePosition && | 552     if (position != kNoSourcePosition) { | 
| 553         !wasm_instance_or_undef->IsUndefined(isolate)) { |  | 
| 554       int translated_position = position; | 553       int translated_position = position; | 
| 555       if (!wasm::WasmIsAsmJs(*wasm_instance_or_undef, isolate)) { | 554       // No further translation needed for asm.js modules. | 
| 556         Handle<WasmCompiledModule> compiled_module( | 555       if (!compiled_module->is_asm_js()) { | 
| 557             WasmInstanceObject::cast(*wasm_instance_or_undef) |  | 
| 558                 ->get_compiled_module(), |  | 
| 559             isolate); |  | 
| 560         translated_position += | 556         translated_position += | 
| 561             wasm::GetFunctionCodeOffset(compiled_module, func_index); | 557             wasm::GetFunctionCodeOffset(compiled_module, func_index); | 
| 562       } | 558       } | 
| 563       details->set(kFrameDetailsSourcePositionIndex, | 559       details->set(kFrameDetailsSourcePositionIndex, | 
| 564                    Smi::FromInt(translated_position)); | 560                    Smi::FromInt(translated_position)); | 
| 565     } | 561     } | 
| 566 | 562 | 
| 567     // Add the constructor information. | 563     // Add the constructor information. | 
| 568     details->set(kFrameDetailsConstructCallIndex, heap->ToBoolean(false)); | 564     details->set(kFrameDetailsConstructCallIndex, heap->ToBoolean(false)); | 
| 569 | 565 | 
| (...skipping 1353 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1923 } | 1919 } | 
| 1924 | 1920 | 
| 1925 | 1921 | 
| 1926 RUNTIME_FUNCTION(Runtime_DebugBreakInOptimizedCode) { | 1922 RUNTIME_FUNCTION(Runtime_DebugBreakInOptimizedCode) { | 
| 1927   UNIMPLEMENTED(); | 1923   UNIMPLEMENTED(); | 
| 1928   return NULL; | 1924   return NULL; | 
| 1929 } | 1925 } | 
| 1930 | 1926 | 
| 1931 }  // namespace internal | 1927 }  // namespace internal | 
| 1932 }  // namespace v8 | 1928 }  // namespace v8 | 
| OLD | NEW | 
|---|