[Webkit-unassigned] [Bug 97586] [Qt] Fix crashes with LLInt C loop on 64 bit release mode

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 31 06:27:21 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=97586





--- Comment #18 from Zoltan Herczeg <zherczeg at webkit.org>  2012-10-31 06:28:40 PST ---
I changed rthe following:

--- a/Source/JavaScriptCore/offlineasm/cloop.rb
+++ b/Source/JavaScriptCore/offlineasm/cloop.rb
@@ -252,7 +252,7 @@ class BaseIndex
             offsetValue = "(#{index.clValue(:int32)} << #{scaleShift}) + #{offset.clValue})"
             "(ASSERT(#{offsetValue} == offsetof(JITStackFrame, globalData)), &sp->globalData)"
         else
-            "#{base.clValue(:int8Ptr)} + (#{index.clValue(:int32)} << #{scaleShift}) + #{offset.clValue}"
+            "#{base.clValue(:int8Ptr)} + (#{index.clValue(:int)} << #{scaleShift}) + #{offset.clValue}"
         end
     end
     def int8MemRef

But there are crashes.

macro loadConstantOrVariable(index, value) :

OFFLINE_ASM_LOCAL_LABEL(_offlineasm_64_loadConstantOrVariable__done)
[...]
t1.i32 = t1.i32 - *CAST<int32_t*>(t2.i8p + 24);
[...]
t1.i = *CAST<int32_t*>(t3.i8p + (t1.i << 2) + intptr_t(0x0));

This is obviously crashes.

Would it be possible to change only this one?

# Utilities.
macro dispatch(advance)
    addp advance, PC
    jmp [PB, PC, 8]
end

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list