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

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: moved to v8 trunk, added a unittest, and fixed compile warning from mainline v8 build. 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') | no next file with comments »
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 1510 matching lines...) Expand 10 before | Expand all | Expand 10 after
1521 1521
1522 1522
1523 var kFrameDetailsFrameIdIndex = 0; 1523 var kFrameDetailsFrameIdIndex = 0;
1524 var kFrameDetailsReceiverIndex = 1; 1524 var kFrameDetailsReceiverIndex = 1;
1525 var kFrameDetailsFunctionIndex = 2; 1525 var kFrameDetailsFunctionIndex = 2;
1526 var kFrameDetailsArgumentCountIndex = 3; 1526 var kFrameDetailsArgumentCountIndex = 3;
1527 var kFrameDetailsLocalCountIndex = 4; 1527 var kFrameDetailsLocalCountIndex = 4;
1528 var kFrameDetailsSourcePositionIndex = 5; 1528 var kFrameDetailsSourcePositionIndex = 5;
1529 var kFrameDetailsConstructCallIndex = 6; 1529 var kFrameDetailsConstructCallIndex = 6;
1530 var kFrameDetailsAtReturnIndex = 7; 1530 var kFrameDetailsAtReturnIndex = 7;
1531 var kFrameDetailsFlagsIndex = 8; 1531 var kFrameDetailsFramePointerHighIndex = 8;
1532 var kFrameDetailsFirstDynamicIndex = 9; 1532 var kFrameDetailsFramePointerLowIndex = 9;
1533 var kFrameDetailsFlagsIndex = 10;
1534 var kFrameDetailsFirstDynamicIndex = 11;
1533 1535
1534 var kFrameDetailsNameIndex = 0; 1536 var kFrameDetailsNameIndex = 0;
1535 var kFrameDetailsValueIndex = 1; 1537 var kFrameDetailsValueIndex = 1;
1536 var kFrameDetailsNameValueSize = 2; 1538 var kFrameDetailsNameValueSize = 2;
1537 1539
1538 var kFrameDetailsFlagDebuggerFrameMask = 1 << 0; 1540 var kFrameDetailsFlagDebuggerFrameMask = 1 << 0;
1539 var kFrameDetailsFlagOptimizedFrameMask = 1 << 1; 1541 var kFrameDetailsFlagOptimizedFrameMask = 1 << 1;
1540 var kFrameDetailsFlagInlinedFrameIndexMask = 7 << 2; 1542 var kFrameDetailsFlagInlinedFrameIndexMask = 7 << 2;
1541 1543
1542 /** 1544 /**
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1587 %CheckExecutionState(this.break_id_); 1589 %CheckExecutionState(this.break_id_);
1588 return this.details_[kFrameDetailsConstructCallIndex]; 1590 return this.details_[kFrameDetailsConstructCallIndex];
1589 }; 1591 };
1590 1592
1591 1593
1592 FrameDetails.prototype.isAtReturn = function() { 1594 FrameDetails.prototype.isAtReturn = function() {
1593 %CheckExecutionState(this.break_id_); 1595 %CheckExecutionState(this.break_id_);
1594 return this.details_[kFrameDetailsAtReturnIndex]; 1596 return this.details_[kFrameDetailsAtReturnIndex];
1595 }; 1597 };
1596 1598
1599 FrameDetails.prototype.framePointerHigh = function() {
1600
1601 %CheckExecutionState(this.break_id_);
1602 return this.details_[kFrameDetailsFramePointerHighIndex];
1603 };
1604
1605
1606 FrameDetails.prototype.framePointerLow = function() {
1607 %CheckExecutionState(this.break_id_);
1608 return this.details_[kFrameDetailsFramePointerLowIndex];
1609 };
1610
1597 1611
1598 FrameDetails.prototype.isDebuggerFrame = function() { 1612 FrameDetails.prototype.isDebuggerFrame = function() {
1599 %CheckExecutionState(this.break_id_); 1613 %CheckExecutionState(this.break_id_);
1600 var f = kFrameDetailsFlagDebuggerFrameMask; 1614 var f = kFrameDetailsFlagDebuggerFrameMask;
1601 return (this.details_[kFrameDetailsFlagsIndex] & f) == f; 1615 return (this.details_[kFrameDetailsFlagsIndex] & f) == f;
1602 }; 1616 };
1603 1617
1604 1618
1605 FrameDetails.prototype.isOptimizedFrame = function() { 1619 FrameDetails.prototype.isOptimizedFrame = function() {
1606 %CheckExecutionState(this.break_id_); 1620 %CheckExecutionState(this.break_id_);
(...skipping 1270 matching lines...) Expand 10 before | Expand all | Expand 10 after
2877 } 2891 }
2878 if (!NUMBER_IS_FINITE(value)) { 2892 if (!NUMBER_IS_FINITE(value)) {
2879 if (value > 0) { 2893 if (value > 0) {
2880 return 'Infinity'; 2894 return 'Infinity';
2881 } else { 2895 } else {
2882 return '-Infinity'; 2896 return '-Infinity';
2883 } 2897 }
2884 } 2898 }
2885 return value; 2899 return value;
2886 } 2900 }
OLDNEW
« no previous file with comments | « no previous file | src/runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698