diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-09-10 08:39:39 (GMT) |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-09-10 08:39:39 (GMT) |
commit | 0adc0bc91d0745177a30ce5899583f5e127d01b9 (patch) | |
tree | 3633014fced73a982a169ff34f5a26ba8f5210fa /src/3rdparty/webkit/JavaScriptCore | |
parent | 27d3905f3d08ef0498ceba1eeb367403cf9f2980 (diff) | |
parent | 87fd237f2857e0d988a476731662a34c6bf045b3 (diff) | |
download | Qt-0adc0bc91d0745177a30ce5899583f5e127d01b9.zip Qt-0adc0bc91d0745177a30ce5899583f5e127d01b9.tar.gz Qt-0adc0bc91d0745177a30ce5899583f5e127d01b9.tar.bz2 |
Merge branch '4.6' of git@scm.dev.troll.no:qt/qt into 4.6
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp | 3 | ||||
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp | 8 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp index 3af4a29..c538eb1 100644 --- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp @@ -586,13 +586,14 @@ NEVER_INLINE HandlerInfo* Interpreter::throwException(CallFrame*& callFrame, JSV unsigned bytecodeOffsetTemp = bytecodeOffset; CodeBlock *codeBlockTemp = codeBlock; while (!(handler = codeBlockTemp->handlerForBytecodeOffset(bytecodeOffsetTemp))) { + void* returnPC = callFrameTemp->returnPC(); callFrameTemp = callFrameTemp->callerFrame(); if (callFrameTemp->hasHostCallFrameFlag()) { hasHandler = false; break; } else { codeBlockTemp = callFrameTemp->codeBlock(); - bytecodeOffsetTemp = bytecodeOffsetForPC(callFrameTemp, codeBlockTemp, callFrameTemp->returnPC()); + bytecodeOffsetTemp = bytecodeOffsetForPC(callFrameTemp, codeBlockTemp, returnPC); } } if (debugger) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp index 1268d3d..d7fbce8 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp @@ -233,7 +233,9 @@ void Heap::destroy() template <HeapType heapType> static NEVER_INLINE CollectorBlock* allocateBlock() { -#if PLATFORM(DARWIN) + // Disable the use of vm_map for the Qt build on Darwin, because when compiled on 10.4 + // it crashes on 10.5 +#if PLATFORM(DARWIN) && !PLATFORM(QT) vm_address_t address = 0; // FIXME: tag the region as a JavaScriptCore heap when we get a registered VM tag: <rdar://problem/6054788>. vm_map(current_task(), &address, BLOCK_SIZE, BLOCK_OFFSET_MASK, VM_FLAGS_ANYWHERE | VM_TAG_FOR_COLLECTOR_MEMORY, MEMORY_OBJECT_NULL, 0, FALSE, VM_PROT_DEFAULT, VM_PROT_DEFAULT, VM_INHERIT_DEFAULT); @@ -285,7 +287,9 @@ static NEVER_INLINE CollectorBlock* allocateBlock() static void freeBlock(CollectorBlock* block) { -#if PLATFORM(DARWIN) + // Disable the use of vm_deallocate for the Qt build on Darwin, because when compiled on 10.4 + // it crashes on 10.5 +#if PLATFORM(DARWIN) && !PLATFORM(QT) vm_deallocate(current_task(), reinterpret_cast<vm_address_t>(block), BLOCK_SIZE); #elif PLATFORM(SYMBIAN) userChunk->Free(reinterpret_cast<TAny*>(block)); |