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

Side by Side Diff: src/mirror-debugger.js

Issue 544143003: Store frame pointers (Closed) Base URL: https://v8.googlecode.com/svn/branches/3.27
Patch Set: ptal Created 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | src/runtime.cc » ('j') | src/runtime.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2012 the V8 project authors. All rights reserved. 1 // Copyright 2006-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 // Handle id counters. 5 // Handle id counters.
6 var next_handle_ = 0; 6 var next_handle_ = 0;
7 var next_transient_handle_ = -1; 7 var next_transient_handle_ = -1;
8 8
9 // Mirror cache. 9 // Mirror cache.
10 var mirror_cache_ = []; 10 var mirror_cache_ = [];
(...skipping 1411 matching lines...) Expand 10 before | Expand all | Expand 10 after
1422 1422
1423 1423
1424 var kFrameDetailsFrameIdIndex = 0; 1424 var kFrameDetailsFrameIdIndex = 0;
1425 var kFrameDetailsReceiverIndex = 1; 1425 var kFrameDetailsReceiverIndex = 1;
1426 var kFrameDetailsFunctionIndex = 2; 1426 var kFrameDetailsFunctionIndex = 2;
1427 var kFrameDetailsArgumentCountIndex = 3; 1427 var kFrameDetailsArgumentCountIndex = 3;
1428 var kFrameDetailsLocalCountIndex = 4; 1428 var kFrameDetailsLocalCountIndex = 4;
1429 var kFrameDetailsSourcePositionIndex = 5; 1429 var kFrameDetailsSourcePositionIndex = 5;
1430 var kFrameDetailsConstructCallIndex = 6; 1430 var kFrameDetailsConstructCallIndex = 6;
1431 var kFrameDetailsAtReturnIndex = 7; 1431 var kFrameDetailsAtReturnIndex = 7;
1432 var kFrameDetailsFlagsIndex = 8; 1432 var kFrameDetailsFramePointerHighIndex = 8;
1433 var kFrameDetailsFirstDynamicIndex = 9; 1433 var kFrameDetailsFramePointerLowIndex = 9;
1434 var kFrameDetailsFlagsIndex = 10;
1435 var kFrameDetailsFirstDynamicIndex = 11;
1434 1436
1435 var kFrameDetailsNameIndex = 0; 1437 var kFrameDetailsNameIndex = 0;
1436 var kFrameDetailsValueIndex = 1; 1438 var kFrameDetailsValueIndex = 1;
1437 var kFrameDetailsNameValueSize = 2; 1439 var kFrameDetailsNameValueSize = 2;
1438 1440
1439 var kFrameDetailsFlagDebuggerFrameMask = 1 << 0; 1441 var kFrameDetailsFlagDebuggerFrameMask = 1 << 0;
1440 var kFrameDetailsFlagOptimizedFrameMask = 1 << 1; 1442 var kFrameDetailsFlagOptimizedFrameMask = 1 << 1;
1441 var kFrameDetailsFlagInlinedFrameIndexMask = 7 << 2; 1443 var kFrameDetailsFlagInlinedFrameIndexMask = 7 << 2;
1442 1444
1443 /** 1445 /**
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1488 %CheckExecutionState(this.break_id_); 1490 %CheckExecutionState(this.break_id_);
1489 return this.details_[kFrameDetailsConstructCallIndex]; 1491 return this.details_[kFrameDetailsConstructCallIndex];
1490 }; 1492 };
1491 1493
1492 1494
1493 FrameDetails.prototype.isAtReturn = function() { 1495 FrameDetails.prototype.isAtReturn = function() {
1494 %CheckExecutionState(this.break_id_); 1496 %CheckExecutionState(this.break_id_);
1495 return this.details_[kFrameDetailsAtReturnIndex]; 1497 return this.details_[kFrameDetailsAtReturnIndex];
1496 }; 1498 };
1497 1499
1500 FrameDetails.prototype.framePointerHigh = function() {
1501
1502 %CheckExecutionState(this.break_id_);
1503 return this.details_[kFrameDetailsFramePointerHighIndex];
1504 };
1505
1506
1507 FrameDetails.prototype.framePointerLow = function() {
1508 %CheckExecutionState(this.break_id_);
1509 return this.details_[kFrameDetailsFramePointerLowIndex];
1510 };
1511
1498 1512
1499 FrameDetails.prototype.isDebuggerFrame = function() { 1513 FrameDetails.prototype.isDebuggerFrame = function() {
1500 %CheckExecutionState(this.break_id_); 1514 %CheckExecutionState(this.break_id_);
1501 var f = kFrameDetailsFlagDebuggerFrameMask; 1515 var f = kFrameDetailsFlagDebuggerFrameMask;
1502 return (this.details_[kFrameDetailsFlagsIndex] & f) == f; 1516 return (this.details_[kFrameDetailsFlagsIndex] & f) == f;
1503 }; 1517 };
1504 1518
1505 1519
1506 FrameDetails.prototype.isOptimizedFrame = function() { 1520 FrameDetails.prototype.isOptimizedFrame = function() {
1507 %CheckExecutionState(this.break_id_); 1521 %CheckExecutionState(this.break_id_);
(...skipping 1270 matching lines...) Expand 10 before | Expand all | Expand 10 after
2778 } 2792 }
2779 if (!NUMBER_IS_FINITE(value)) { 2793 if (!NUMBER_IS_FINITE(value)) {
2780 if (value > 0) { 2794 if (value > 0) {
2781 return 'Infinity'; 2795 return 'Infinity';
2782 } else { 2796 } else {
2783 return '-Infinity'; 2797 return '-Infinity';
2784 } 2798 }
2785 } 2799 }
2786 return value; 2800 return value;
2787 } 2801 }
OLDNEW
« no previous file with comments | « no previous file | src/runtime.cc » ('j') | src/runtime.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698