[Webkit-unassigned] [Bug 125168] [MIPS] Wrong register usage in LLInt op_catch.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 3 11:35:42 PST 2013


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





--- Comment #5 from Balazs Kilvady <kilvadyb at homejinni.com>  2013-12-03 11:34:02 PST ---
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > (From update of attachment 218311 [details] [details] [details])
> > > View in context: https://bugs.webkit.org/attachment.cgi?id=218311&action=review
> > > 
> > > > Source/JavaScriptCore/offlineasm/mips.rb:-535
> > > > -            if /_prologue$/.match(node.name) || /^_llint_function_/.match(node.name)
> > > > +            if /_prologue$/.match(node.name) || /^_llint_function_/.match(node.name) || /_llint_op_catch/.match(node.name)
> > > >                  # Functions called from trampoline/JIT codes.
> > > >                  myList << Instruction.new(node.codeOrigin, "pichdr", [])
> > > > -            elsif /_llint_op_catch/.match(node.name)
> > > > -                # Exception cactcher entry point function.
> > > > -                myList << Instruction.new(node.codeOrigin, "pichdrra", [])
> > > 
> > > This is atrocious.  Are you seriously matching label names?
> > 
> > Yes. On MIPS for PIC compatibility a special header (pichdr) needed. I didn't find a better way to add PIC header only to the "entry point" functions/ops.
> 
> This is really bad.  Please find a better way to do this before making the problem worse.
Thank you for the review. I dislike this solution also but PIC header is 3 instructions long so I didn't want to add it to all the LLInt ops when it is not necessary. I think there is no other sign of entry point code than the node.name from offlineasm/mips.rb. I could add PIC header to all the ops (like gcc does for every function). I will check the speed penalty of that solution.

-- 
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