diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-07-09 09:40:52 (GMT) |
---|---|---|
committer | Kent Hansen <khansen@trolltech.com> | 2009-07-09 09:40:52 (GMT) |
commit | d8cde61540b94e36a759d9d6a5adbb432f3625ea (patch) | |
tree | 3b580b65bffa2fa21b28d77729e52cf5e65770b7 /src/3rdparty/webkit/JavaScriptCore | |
parent | bbe31f2e8842e032139fde0f58740cd181eeacd9 (diff) | |
download | Qt-d8cde61540b94e36a759d9d6a5adbb432f3625ea.zip Qt-d8cde61540b94e36a759d9d6a5adbb432f3625ea.tar.gz Qt-d8cde61540b94e36a759d9d6a5adbb432f3625ea.tar.bz2 |
make arguments object work for native functions
There's an off-by-one issue that we just work around for now.
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/runtime/Arguments.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Arguments.h b/src/3rdparty/webkit/JavaScriptCore/runtime/Arguments.h index a3941b6..1f5b600 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/Arguments.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Arguments.h @@ -193,6 +193,8 @@ namespace JSC { extraArguments = d->extraArgumentsFixedBuffer; Register* argv = callFrame->registers() - RegisterFile::CallFrameHeaderSize - numArguments - 1; + if (callFrame->callee() && !callFrame->callee()->isObject(&JSC::JSFunction::info)) + ++argv; // ### off-by-one issue with native functions for (unsigned i = 0; i < numArguments; ++i) extraArguments[i] = argv[i]; |