| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/frames.h" | 5 #include "src/frames.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "src/ast/ast.h" | 9 #include "src/ast/ast.h" |
| 10 #include "src/ast/scopeinfo.h" | 10 #include "src/ast/scopeinfo.h" |
| (...skipping 1300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1311 | 1311 |
| 1312 JSFunction* WasmFrame::function() const { | 1312 JSFunction* WasmFrame::function() const { |
| 1313 // TODO(clemensh): generate the right JSFunctions once per wasm function and | 1313 // TODO(clemensh): generate the right JSFunctions once per wasm function and |
| 1314 // cache them | 1314 // cache them |
| 1315 Factory* factory = isolate()->factory(); | 1315 Factory* factory = isolate()->factory(); |
| 1316 Handle<JSFunction> fun = | 1316 Handle<JSFunction> fun = |
| 1317 factory->NewFunction(factory->NewStringFromAsciiChecked("<WASM>")); | 1317 factory->NewFunction(factory->NewStringFromAsciiChecked("<WASM>")); |
| 1318 return *fun; | 1318 return *fun; |
| 1319 } | 1319 } |
| 1320 | 1320 |
| 1321 void WasmFrame::Summarize(List<FrameSummary>* functions) const { |
| 1322 DCHECK(functions->length() == 0); |
| 1323 Code* code = LookupCode(); |
| 1324 int offset = static_cast<int>(pc() - code->instruction_start()); |
| 1325 AbstractCode* abstract_code = AbstractCode::cast(code); |
| 1326 FrameSummary summary(receiver(), function(), abstract_code, offset, false); |
| 1327 functions->Add(summary); |
| 1328 } |
| 1329 |
| 1321 void WasmFrame::Iterate(ObjectVisitor* v) const { IterateCompiledFrame(v); } | 1330 void WasmFrame::Iterate(ObjectVisitor* v) const { IterateCompiledFrame(v); } |
| 1322 | 1331 |
| 1323 Address WasmFrame::GetCallerStackPointer() const { | 1332 Address WasmFrame::GetCallerStackPointer() const { |
| 1324 return fp() + ExitFrameConstants::kCallerSPOffset; | 1333 return fp() + ExitFrameConstants::kCallerSPOffset; |
| 1325 } | 1334 } |
| 1326 | 1335 |
| 1327 namespace { | 1336 namespace { |
| 1328 | 1337 |
| 1329 | 1338 |
| 1330 void PrintFunctionSource(StringStream* accumulator, SharedFunctionInfo* shared, | 1339 void PrintFunctionSource(StringStream* accumulator, SharedFunctionInfo* shared, |
| (...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1747 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { | 1756 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { |
| 1748 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); | 1757 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); |
| 1749 list.Add(frame, zone); | 1758 list.Add(frame, zone); |
| 1750 } | 1759 } |
| 1751 return list.ToVector(); | 1760 return list.ToVector(); |
| 1752 } | 1761 } |
| 1753 | 1762 |
| 1754 | 1763 |
| 1755 } // namespace internal | 1764 } // namespace internal |
| 1756 } // namespace v8 | 1765 } // namespace v8 |
| OLD | NEW |