Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2150)

Side by Side Diff: src/inspector/V8StackTraceImpl.cpp

Issue 2332163002: [inspector] fixed all shorten-64-to-32 warnings (Closed)
Patch Set: fixed compilation on linux bot Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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/inspector/V8StackTraceImpl.h" 5 #include "src/inspector/V8StackTraceImpl.h"
6 6
7 #include "src/inspector/StringUtil.h" 7 #include "src/inspector/StringUtil.h"
8 #include "src/inspector/V8Debugger.h" 8 #include "src/inspector/V8Debugger.h"
9 #include "src/inspector/protocol/Protocol.h" 9 #include "src/inspector/protocol/Protocol.h"
10 10
11 #include "include/v8-debug.h" 11 #include "include/v8-debug.h"
12 #include "include/v8-profiler.h" 12 #include "include/v8-profiler.h"
13 #include "include/v8-version.h" 13 #include "include/v8-version.h"
14 14
15 #include <limits>
16
15 namespace v8_inspector { 17 namespace v8_inspector {
16 18
17 namespace { 19 namespace {
18 20
19 static const v8::StackTrace::StackTraceOptions stackTraceOptions = 21 static const v8::StackTrace::StackTraceOptions stackTraceOptions =
20 static_cast<v8::StackTrace::StackTraceOptions>( 22 static_cast<v8::StackTrace::StackTraceOptions>(
21 v8::StackTrace::kLineNumber | v8::StackTrace::kColumnOffset | 23 v8::StackTrace::kLineNumber | v8::StackTrace::kColumnOffset |
22 v8::StackTrace::kScriptId | v8::StackTrace::kScriptNameOrSourceURL | 24 v8::StackTrace::kScriptId | v8::StackTrace::kScriptNameOrSourceURL |
23 v8::StackTrace::kFunctionName); 25 v8::StackTrace::kFunctionName);
24 26
(...skipping 13 matching lines...) Expand all
38 int sourceColumn = frame->GetColumn(); 40 int sourceColumn = frame->GetColumn();
39 return V8StackTraceImpl::Frame(functionName, scriptId, sourceName, 41 return V8StackTraceImpl::Frame(functionName, scriptId, sourceName,
40 sourceLineNumber, sourceColumn); 42 sourceLineNumber, sourceColumn);
41 } 43 }
42 44
43 void toFramesVector(v8::Local<v8::StackTrace> stackTrace, 45 void toFramesVector(v8::Local<v8::StackTrace> stackTrace,
44 std::vector<V8StackTraceImpl::Frame>& frames, 46 std::vector<V8StackTraceImpl::Frame>& frames,
45 size_t maxStackSize, v8::Isolate* isolate) { 47 size_t maxStackSize, v8::Isolate* isolate) {
46 DCHECK(isolate->InContext()); 48 DCHECK(isolate->InContext());
47 int frameCount = stackTrace->GetFrameCount(); 49 int frameCount = stackTrace->GetFrameCount();
48 if (frameCount > static_cast<int>(maxStackSize)) frameCount = maxStackSize; 50 if (frameCount > static_cast<int>(maxStackSize))
51 frameCount = static_cast<int>(maxStackSize);
49 for (int i = 0; i < frameCount; i++) { 52 for (int i = 0; i < frameCount; i++) {
50 v8::Local<v8::StackFrame> stackFrame = stackTrace->GetFrame(i); 53 v8::Local<v8::StackFrame> stackFrame = stackTrace->GetFrame(i);
51 frames.push_back(toFrame(stackFrame)); 54 frames.push_back(toFrame(stackFrame));
52 } 55 }
53 } 56 }
54 57
55 } // namespace 58 } // namespace
56 59
57 V8StackTraceImpl::Frame::Frame() 60 V8StackTraceImpl::Frame::Frame()
58 : m_functionName("undefined"), 61 : m_functionName("undefined"),
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 } 155 }
153 156
154 std::unique_ptr<V8StackTraceImpl> V8StackTraceImpl::capture( 157 std::unique_ptr<V8StackTraceImpl> V8StackTraceImpl::capture(
155 V8Debugger* debugger, int contextGroupId, size_t maxStackSize, 158 V8Debugger* debugger, int contextGroupId, size_t maxStackSize,
156 const String16& description) { 159 const String16& description) {
157 v8::Isolate* isolate = v8::Isolate::GetCurrent(); 160 v8::Isolate* isolate = v8::Isolate::GetCurrent();
158 v8::HandleScope handleScope(isolate); 161 v8::HandleScope handleScope(isolate);
159 v8::Local<v8::StackTrace> stackTrace; 162 v8::Local<v8::StackTrace> stackTrace;
160 if (isolate->InContext()) { 163 if (isolate->InContext()) {
161 isolate->GetCpuProfiler()->CollectSample(); 164 isolate->GetCpuProfiler()->CollectSample();
162 stackTrace = v8::StackTrace::CurrentStackTrace(isolate, maxStackSize, 165 DCHECK(maxStackSize <= std::numeric_limits<int>::max());
163 stackTraceOptions); 166 stackTrace = v8::StackTrace::CurrentStackTrace(
167 isolate, static_cast<int>(maxStackSize), stackTraceOptions);
164 } 168 }
165 return V8StackTraceImpl::create(debugger, contextGroupId, stackTrace, 169 return V8StackTraceImpl::create(debugger, contextGroupId, stackTrace,
166 maxStackSize, description); 170 maxStackSize, description);
167 } 171 }
168 172
169 std::unique_ptr<V8StackTraceImpl> V8StackTraceImpl::cloneImpl() { 173 std::unique_ptr<V8StackTraceImpl> V8StackTraceImpl::cloneImpl() {
170 std::vector<Frame> framesCopy(m_frames); 174 std::vector<Frame> framesCopy(m_frames);
171 return wrapUnique( 175 return wrapUnique(
172 new V8StackTraceImpl(m_contextGroupId, m_description, framesCopy, 176 new V8StackTraceImpl(m_contextGroupId, m_description, framesCopy,
173 m_parent ? m_parent->cloneImpl() : nullptr)); 177 m_parent ? m_parent->cloneImpl() : nullptr));
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 stackTrace.append(String16::fromInteger(frame.lineNumber())); 268 stackTrace.append(String16::fromInteger(frame.lineNumber()));
265 stackTrace.append(':'); 269 stackTrace.append(':');
266 stackTrace.append(String16::fromInteger(frame.columnNumber())); 270 stackTrace.append(String16::fromInteger(frame.columnNumber()));
267 stackTrace.append(')'); 271 stackTrace.append(')');
268 } 272 }
269 String16 string = stackTrace.toString(); 273 String16 string = stackTrace.toString();
270 return StringBufferImpl::adopt(string); 274 return StringBufferImpl::adopt(string);
271 } 275 }
272 276
273 } // namespace v8_inspector 277 } // namespace v8_inspector
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698