aboutsummaryrefslogtreecommitdiff
path: root/src/modules.js
diff options
context:
space:
mode:
authorAlon Zakai <azakai@mozilla.com>2011-02-27 16:54:21 -0800
committerAlon Zakai <azakai@mozilla.com>2011-02-27 16:54:21 -0800
commit40ab3e284734cd54a4e1342cdd8df483b32078d4 (patch)
tree984f4bfe85a6dda7a203328dfc70d793a747a2f5 /src/modules.js
parent26ab22af91138dcad765cef82d312c99914b5093 (diff)
debugging info and test runner fixes
Diffstat (limited to 'src/modules.js')
-rw-r--r--src/modules.js11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/modules.js b/src/modules.js
index ed3f1f23..4019116f 100644
--- a/src/modules.js
+++ b/src/modules.js
@@ -16,6 +16,7 @@ var Debugging = {
var metadataToSourceLine = {};
var metadataToParentMetadata = {};
var metadataToFilename = {};
+
var form1 = new RegExp(/^ .*, !dbg !(\d+)$/);
var form2 = new RegExp(/^ .*, !dbg !(\d+) +; \[#uses=\d+\]$/);
var form3 = new RegExp(/^!(\d+) = metadata !{i32 (\d+), i32 \d+, metadata !(\d+), .*}$/);
@@ -24,12 +25,12 @@ var Debugging = {
var form3ac = new RegExp(/^!(\d+) = metadata !{i32 \d+, metadata !\d+, metadata !"[^"]+", metadata !(\d+)[^\[]* ; \[ DW_TAG_structure_type \]$/);
var form3b = new RegExp(/^!(\d+) = metadata !{i32 \d+, metadata !"([^"]+)", metadata !"([^"]+)", metadata !\d+} ; \[ DW_TAG_file_type \]$/);
var form3c = new RegExp(/^!(\d+) = metadata !{\w+\d* !?(\d+)[^\d].*$/);
- var form4 = new RegExp(/^!llvm.dbg.\w+ = .*$/);
- var form5 = new RegExp(/^!(\d+) = metadata !{null.*$/);
- var form6 = new RegExp(/^ call void \@llvm.dbg.declare\(metadata .*$/);
+ var form4 = new RegExp(/^!llvm.dbg.[\w\.]+ = .*$/);
+ var form5 = new RegExp(/^!(\d+) = metadata !{.*$/);
+ var form6 = new RegExp(/^ (tail )?call void \@llvm.dbg.\w+\(metadata .*$/);
var ret = lines.map(function(line, i) {
- if (form6.exec(line)) return null;
+ if (form6.exec(line)) return ';';
var calc = form1.exec(line) || form2.exec(line);
if (calc) {
@@ -84,11 +85,13 @@ var Debugging = {
},
getComment: function(lineNum) {
+ if (!this.on) return null;
return lineNum in this.llvmLineToSourceLine ? ' //@line ' + this.llvmLineToSourceLine[lineNum] + ' "' +
this.llvmLineToSourceFile[lineNum] + '"' : '';
},
getIdentifier: function(lineNum) {
+ if (!this.on) return null;
var sourceFile = this.llvmLineToSourceFile[lineNum];
if (!sourceFile) return null;
return sourceFile.split('/').slice(-1)[0] + ':' + this.llvmLineToSourceLine[lineNum];