diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-14 16:29:47 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-14 16:29:47 +0200 |
commit | d0424a769059c84ae20beb3c217812792ea6726b (patch) | |
tree | 6f94a5c3db8c52c6694ee56498542a6c35417350 /Source/JavaScriptCore/bytecode/CodeBlock.h | |
parent | 88a04ac016f57c2d78e714682445dff2e7db4ade (diff) | |
download | qtwebkit-d0424a769059c84ae20beb3c217812792ea6726b.tar.gz |
Imported WebKit commit 37c5e5041d39a14ea0d429a77ebd352e4bd26516 (http://svn.webkit.org/repository/webkit/trunk@128608)
New snapshot that enables WebKit2 build on Windows (still some bugs) and allows for WebKit to be built with qmake && make
Diffstat (limited to 'Source/JavaScriptCore/bytecode/CodeBlock.h')
-rw-r--r-- | Source/JavaScriptCore/bytecode/CodeBlock.h | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/Source/JavaScriptCore/bytecode/CodeBlock.h b/Source/JavaScriptCore/bytecode/CodeBlock.h index 1d56999ff..07d1e0a06 100644 --- a/Source/JavaScriptCore/bytecode/CodeBlock.h +++ b/Source/JavaScriptCore/bytecode/CodeBlock.h @@ -547,29 +547,16 @@ namespace JSC { return needsFullScopeChain() && codeType() != GlobalCode; } - bool argumentsAreCaptured() const - { - return needsActivation() || usesArguments(); - } - - bool argumentIsCaptured(int) const - { - return argumentsAreCaptured(); - } - - bool localIsCaptured(InlineCallFrame* inlineCallFrame, int operand) const - { - if (!inlineCallFrame) - return operand < m_numCapturedVars; - - return inlineCallFrame->capturedVars.get(operand); - } - - bool isCaptured(InlineCallFrame* inlineCallFrame, int operand) const + bool isCaptured(int operand, InlineCallFrame* inlineCallFrame = 0) const { + if (inlineCallFrame && !operandIsArgument(operand)) + return inlineCallFrame->capturedVars.get(operand); + + // Our estimate of argument capture is conservative. if (operandIsArgument(operand)) - return argumentIsCaptured(operandToArgument(operand)); - return localIsCaptured(inlineCallFrame, operand); + return needsActivation() || usesArguments(); + + return operand < m_numCapturedVars; } CodeType codeType() const { return m_codeType; } |