Bug 105750 - All JIT stubs should go through the getCTIStub API
Summary: All JIT stubs should go through the getCTIStub API
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on: 105744
Blocks:
  Show dependency treegraph
 
Reported: 2012-12-25 19:40 PST by Filip Pizlo
Modified: 2012-12-27 23:48 PST (History)
9 users (show)

See Also:


Attachments
work in progress (50.44 KB, patch)
2012-12-25 19:41 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (87.92 KB, patch)
2012-12-26 08:20 PST, Filip Pizlo
sam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2012-12-25 19:40:47 PST
Some of them are currently generated using the privateCompileCTITrampoline method.  That method is starting to get messy and has a lot of 8-way code duplication (link versus virtual, call versus construct, 32_64 versus 64).

Work in progress patch forthcoming.
Comment 1 Filip Pizlo 2012-12-25 19:41:44 PST
Created attachment 180723 [details]
work in progress
Comment 2 Filip Pizlo 2012-12-26 08:20:52 PST
Created attachment 180749 [details]
the patch
Comment 3 WebKit Review Bot 2012-12-26 08:24:17 PST
Attachment 180749 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1
Source/JavaScriptCore/jit/ThunkGenerators.cpp:237:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/JavaScriptCore/jit/ThunkGenerators.cpp:261:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/JavaScriptCore/jit/ThunkGenerators.cpp:284:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/JavaScriptCore/jit/ThunkGenerators.cpp:326:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Total errors found: 4 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Filip Pizlo 2012-12-27 10:46:01 PST
This appears to have set the bots on fire.

Before: http://build.webkit.org/results/Apple%20Lion%20Debug%20WK1%20(Tests)/r138412%20(5567)/results.html
After: http://build.webkit.org/results/Apple%20Lion%20Debug%20WK1%20(Tests)/r138413%20(5568)/results.html

Locally, I'm getting crashes on each test run.
Comment 5 Filip Pizlo 2012-12-27 10:49:50 PST
(In reply to comment #4)
> This appears to have set the bots on fire.
> 
> Before: http://build.webkit.org/results/Apple%20Lion%20Debug%20WK1%20(Tests)/r138412%20(5567)/results.html
> After: http://build.webkit.org/results/Apple%20Lion%20Debug%20WK1%20(Tests)/r138413%20(5568)/results.html
> 
> Locally, I'm getting crashes on each test run.

Oh noes, I commented on the wrong bug. :-/
Comment 6 Filip Pizlo 2012-12-27 15:13:57 PST
Landed in http://trac.webkit.org/changeset/138516
Comment 7 Csaba Osztrogonác 2012-12-27 23:48:06 PST
(In reply to comment #6)
> Landed in http://trac.webkit.org/changeset/138516

It broke the MIPS, SH4 and the ARM build:

SH4 build log:
/local/wkit/slavebuildbot/workspace/qt-linux-sh4-release/build/Source/JavaScriptCore/jit/ThunkGenerators.cpp: In function ‘JSC::MacroAssemblerCodeRef JSC::nativeForGenerator(JSC::JSGlobalData*, JSC::CodeSpecializationKind)’:
/local/wkit/slavebuildbot/workspace/qt-linux-sh4-release/build/Source/JavaScriptCore/jit/ThunkGenerators.cpp:311:41: error: ‘regT5’ was not declared in this scope
/local/wkit/slavebuildbot/workspace/qt-linux-sh4-release/build/Source/JavaScriptCore/jit/ThunkGenerators.cpp:384:12: error: ‘toCString’ was not declared in this scope


MIPS build log:
/data/buildbot/mips-1/qt-linux-mipsel-mips32r2-release/build/Source/JavaScriptCore/jit/ThunkGenerators.cpp: In function 'JSC::MacroAssemblerCodeRef JSC::nativeForGenerator(JSC::JSGlobalData*, JSC::CodeSpecializationKind)':
/data/buildbot/mips-1/qt-linux-mipsel-mips32r2-release/build/Source/JavaScriptCore/jit/ThunkGenerators.cpp:384: error: 'toCString' was not declared in this scope


ARM build log:
/mnt/raptor2/slaves/qt5-linux-armv7-release/build/Source/JavaScriptCore/jit/ThunkGenerators.cpp: In function 'JSC::MacroAssemblerCodeRef JSC::nativeForGenerator(JSC::JSGlobalData*, JSC::CodeSpecializationKind)':
/mnt/raptor2/slaves/qt5-linux-armv7-release/build/Source/JavaScriptCore/jit/ThunkGenerators.cpp:293:42: error: 'regT3' was not declared in this scope


Trivial fixes landed in:
- https://trac.webkit.org/changeset/138522
- https://trac.webkit.org/changeset/138523