summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/CodeBlock.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-07-23 09:28:44 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-07-23 09:28:44 +0200
commit815f1ed417bd26fbe2abbdf20ac5d3423b30796c (patch)
tree923c9a9e2834ccab60f5caecfb8f0ac410c1dd9e /Source/JavaScriptCore/bytecode/CodeBlock.cpp
parentb4ad5d9d2b96baacd0180ead50de5195ca78af2d (diff)
downloadqtwebkit-815f1ed417bd26fbe2abbdf20ac5d3423b30796c.tar.gz
Imported WebKit commit e65cbc5b6ac32627c797e7fc7f46eb7794410c92 (http://svn.webkit.org/repository/webkit/trunk@123308)
New snapshot with better configure tests
Diffstat (limited to 'Source/JavaScriptCore/bytecode/CodeBlock.cpp')
-rw-r--r--Source/JavaScriptCore/bytecode/CodeBlock.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/bytecode/CodeBlock.cpp b/Source/JavaScriptCore/bytecode/CodeBlock.cpp
index d417a5fbd..363efa28a 100644
--- a/Source/JavaScriptCore/bytecode/CodeBlock.cpp
+++ b/Source/JavaScriptCore/bytecode/CodeBlock.cpp
@@ -2942,4 +2942,29 @@ bool CodeBlock::usesOpcode(OpcodeID opcodeID)
return false;
}
+UString CodeBlock::nameForRegister(int registerNumber)
+{
+ SymbolTable::iterator end = m_symbolTable->end();
+ for (SymbolTable::iterator ptr = m_symbolTable->begin(); ptr != end; ++ptr) {
+ if (ptr->second.getIndex() == registerNumber)
+ return UString(ptr->first);
+ }
+ if (needsActivation() && registerNumber == activationRegister())
+ return "activation";
+ if (registerNumber == thisRegister())
+ return "this";
+ if (usesArguments()) {
+ if (registerNumber == argumentsRegister())
+ return "arguments";
+ if (unmodifiedArgumentsRegister(argumentsRegister()) == registerNumber)
+ return "real arguments";
+ }
+ if (registerNumber < 0) {
+ int argumentPosition = -registerNumber;
+ argumentPosition -= RegisterFile::CallFrameHeaderSize + 1;
+ return String::format("arguments[%3d]", argumentPosition - 1).impl();
+ }
+ return "";
+}
+
} // namespace JSC