Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
2008-09-15 Cameron Zwarich <cwzwarich@uwaterloo.ca>
        Reviewed by Maciej Stachowiak.

        Bug 20863: ASSERTION FAILED: addressOffset < instructions.size() in CodeBlock::getHandlerForVPC
        <https://bugs.webkit.org/show_bug.cgi?id=20863>

        r36427 changed the number of arguments to op_construct without changing
        the argument index for the vPC in the call to initializeCallFrame() in
        the CTI case. This caused a JSC test failure. Correcting the argument
        index fixes the test failure.

        * VM/Machine.cpp:
        (JSC::Machine::cti_op_construct_JSConstruct):


Canonical link: https://commits.webkit.org/28761@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
Cameron Zwarich committed Sep 16, 2008
1 parent b6e9758 commit 81ec4e2
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
15 changes: 15 additions & 0 deletions JavaScriptCore/ChangeLog
@@ -1,3 +1,18 @@
2008-09-15 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20863: ASSERTION FAILED: addressOffset < instructions.size() in CodeBlock::getHandlerForVPC
<https://bugs.webkit.org/show_bug.cgi?id=20863>

r36427 changed the number of arguments to op_construct without changing
the argument index for the vPC in the call to initializeCallFrame() in
the CTI case. This caused a JSC test failure. Correcting the argument
index fixes the test failure.

* VM/Machine.cpp:
(JSC::Machine::cti_op_construct_JSConstruct):

2008-09-15 Mark Rowe <mrowe@apple.com>

Fix GCC 4.2 build.
Expand Down
2 changes: 1 addition & 1 deletion JavaScriptCore/VM/Machine.cpp
Expand Up @@ -4480,7 +4480,7 @@ void* Machine::cti_op_construct_JSConstruct(CTI_ARGS)
r[firstArg] = newObject; // "this" value

Register* callFrame = r + firstArg - RegisterFile::CallFrameHeaderSize;
machine->initializeCallFrame(callFrame, codeBlock, ARG_instr4, scopeChain, r, 0/*dst*/, firstArg, argCount, constructor);
machine->initializeCallFrame(callFrame, codeBlock, ARG_instr5, scopeChain, r, 0/*dst*/, firstArg, argCount, constructor);
exec->m_callFrame = callFrame;

r = slideRegisterWindowForCall(exec, newCodeBlock, registerFile, registerBase, r, firstArg, argCount, exceptionValue);
Expand Down

0 comments on commit 81ec4e2

Please sign in to comment.