Bug 129810

Summary: FTL arity fixup should work on ARM64
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, bfulgham, commit-queue, ggaren, mark.lam, mhahnenberg, mmirman, msaboff, nrotem, oliver, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 129813    
Bug Blocks: 112840    
Attachments:
Description Flags
the patch msaboff: review+

Description Filip Pizlo 2014-03-06 11:41:27 PST
Patch forthcoming.
Comment 1 Filip Pizlo 2014-03-06 11:44:23 PST
Created attachment 226021 [details]
the patch
Comment 2 Michael Saboff 2014-03-06 11:53:48 PST
Comment on attachment 226021 [details]
the patch

r=me

Did you test on X86-{32,64}?
Comment 3 Filip Pizlo 2014-03-06 11:55:11 PST
(In reply to comment #2)
> (From update of attachment 226021 [details])
> r=me
> 
> Did you test on X86-{32,64}?

X86-64 yes.  I'm still testing 32-bit.
Comment 4 Filip Pizlo 2014-03-06 12:11:22 PST
Landed in http://trac.webkit.org/changeset/165205
Comment 5 WebKit Commit Bot 2014-03-06 12:26:46 PST
Re-opened since this is blocked by bug 129813
Comment 6 Brent Fulgham 2014-03-06 14:59:54 PST
It looks like this bug broke the Windows build:

     1>LowLevelInterpreterWin.obj : error LNK2026: module unsafe for SAFESEH image.
            Creating library C:/cygwin/home/buildbot/slave/windows-release-archive/build/build-Release\Production\lib32\JavaScriptCore.lib and object C:/cygwin/home/buildbot/slave/windows-release-archive/build/build-Release\Production\lib32\JavaScriptCore.exp
     1>C:/cygwin/home/buildbot/slave/windows-release-archive/build/build-Release\Production\bin32\JavaScriptCore.dll : fatal error LNK1281: Unable to generate SAFESEH image.


This may be due to adding the 'raise' handler to the 'when "t7"' clause.
Comment 8 Filip Pizlo 2014-03-06 20:56:49 PST
This wasn't rolled out.
Comment 9 Filip Pizlo 2014-03-06 20:58:39 PST
(In reply to comment #7)
> http://msdn.microsoft.com/en-us/library/9a89h429.aspx

Are we using cloop or the fully assembly llint on Windows?

If the latter, then someone just needs to play with register mappings.  It would be fine to have different register mappings on Windows and Darwin+Linux.  It would not be acceptable to change the mappings on Darwin+Linux at this point, since they are based on the SysV x86-64 ABI and we have to obey this ABI.
Comment 10 Mark Lam 2014-03-06 21:05:18 PST
(In reply to comment #9)
> (In reply to comment #7)
> > http://msdn.microsoft.com/en-us/library/9a89h429.aspx
> 
> Are we using cloop or the fully assembly llint on Windows?
> 
> If the latter, then someone just needs to play with register mappings.  It would be fine to have different register mappings on Windows and Darwin+Linux.  It would not be acceptable to change the mappings on Darwin+Linux at this point, since they are based on the SysV x86-64 ABI and we have to obey this ABI.

FYI, we now use the ASM LLINT and also enable the baseline JIT on Windows with recent patches by peavo.
Comment 11 Mark Lam 2014-03-06 21:10:54 PST
(In reply to comment #6)
>      1>C:/cygwin/home/buildbot/slave/windows-release-archive/build/build-Release\Production\bin32\JavaScriptCore.dll : fatal error LNK1281: Unable to generate SAFESEH image.

Just to clarify, it turned out that the “SAFESEH” issue is not due to this patch.  Instead, the issue started manifesting with the patch for http://trac.webkit.org/changeset/165128.  It just needed some additional build rules in the MSVC project.  Brent added those rules this afternoon, and all is well again.