From d0424a769059c84ae20beb3c217812792ea6726b Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 14 Sep 2012 16:29:47 +0200 Subject: 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 --- Source/JavaScriptCore/bytecode/CodeBlock.h | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) (limited to 'Source/JavaScriptCore/bytecode/CodeBlock.h') 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; } -- cgit v1.2.3