Summary: | It should be possible to jettison JIT stub routines even if they are currently running | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||||||||||||||||
Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||
Severity: | Normal | CC: | barraclough, fpizlo, ggaren, mhahnenberg, msaboff, oliver, ossy, paroga, rakuco, webkit.review.bot | ||||||||||||||||||
Priority: | P2 | ||||||||||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||||||||||
Hardware: | All | ||||||||||||||||||||
OS: | All | ||||||||||||||||||||
Bug Depends on: | 90852 | ||||||||||||||||||||
Bug Blocks: | |||||||||||||||||||||
Attachments: |
|
Description
Filip Pizlo
2012-07-07 14:34:49 PDT
Created attachment 151147 [details]
work in progress
Oh boy, another huge patch.
Created attachment 151149 [details]
wrote a tiny bit more code
It compiles now, at least on 64-bit. I'll test it at some point.
Created attachment 151169 [details]
the patch
It seems to work.
Attachment 151169 [details] did not pass style-queue:
Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeLists.txt', u'S..." exit_code: 1
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:83: The parameter name "object" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:108: Use 0 or null instead of NULL (even in *comments*). [readability/null] [4]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:113: The parameter name "code" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:113: The parameter name "globalData" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:116: The parameter name "code" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:116: The parameter name "globalData" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:117: The parameter name "object" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/bytecode/Instruction.h:75: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:75: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _proto is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _chain is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/jit/JITStubRoutine.h:53: More than one command on the same line [whitespace/newline] [4]
Source/JavaScriptCore/heap/JITStubRoutineSet.h:44: More than one command on the same line [whitespace/newline] [4]
Total errors found: 17 in 31 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 151169 [details] the patch Attachment 151169 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/13164112 Comment on attachment 151169 [details] the patch Attachment 151169 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/13162137 Comment on attachment 151169 [details] the patch Attachment 151169 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/13170009 Comment on attachment 151169 [details] the patch Attachment 151169 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/13160279 Created attachment 151171 [details]
the patch
Got it to, like, build, and stuff.
Attachment 151171 [details] did not pass style-queue:
Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeLists.txt', u'S..." exit_code: 1
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:83: The parameter name "object" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:108: Use 0 or null instead of NULL (even in *comments*). [readability/null] [4]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:113: The parameter name "code" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:113: The parameter name "globalData" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:116: The parameter name "code" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:116: The parameter name "globalData" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:117: The parameter name "object" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/bytecode/Instruction.h:75: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:75: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _proto is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _chain is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/jit/JITStubRoutine.h:53: More than one command on the same line [whitespace/newline] [4]
Source/JavaScriptCore/heap/JITStubRoutineSet.h:44: More than one command on the same line [whitespace/newline] [4]
Total errors found: 17 in 31 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 151172 [details]
the patch
Fixed some of the style errors.
Attachment 151172 [details] did not pass style-queue:
Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeLists.txt', u'S..." exit_code: 1
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:83: The parameter name "object" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:108: Use 0 or null instead of NULL (even in *comments*). [readability/null] [4]
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:116: The parameter name "object" adds no information, so it should be removed. [readability/parameter_name] [5]
Source/JavaScriptCore/bytecode/Instruction.h:75: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:75: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _proto is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _chain is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Total errors found: 11 in 31 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 151173 [details]
the patch
Attachment 151173 [details] did not pass style-queue:
Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeLists.txt', u'S..." exit_code: 1
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:108: Use 0 or null instead of NULL (even in *comments*). [readability/null] [4]
Source/JavaScriptCore/bytecode/Instruction.h:75: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:75: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _proto is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _chain is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Total errors found: 9 in 31 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 151173 [details] the patch Attachment 151173 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/13163136 Comment on attachment 151173 [details] the patch Attachment 151173 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/13164127 Created attachment 151175 [details]
the patch
More random fixes.
Attachment 151175 [details] did not pass style-queue:
Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeLists.txt', u'S..." exit_code: 1
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:109: Use 0 or null instead of NULL (even in *comments*). [readability/null] [4]
Source/JavaScriptCore/bytecode/Instruction.h:75: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:75: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _proto is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _chain is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Total errors found: 9 in 31 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 151185 [details]
the patch
Fixed the last bugs. It passes tests and is perf neutral.
Attachment 151185 [details] did not pass style-queue:
Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeLists.txt', u'S..." exit_code: 1
Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h:109: Use 0 or null instead of NULL (even in *comments*). [readability/null] [4]
Source/JavaScriptCore/bytecode/Instruction.h:75: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:75: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:84: _proto is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _stubRoutine is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _base is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Source/JavaScriptCore/bytecode/Instruction.h:93: _chain is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4]
Total errors found: 9 in 31 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 151185 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=151185&action=review > Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp:62 > + ASSERT(!m_isJettisoned); Given the dual meaning of isJettisoned (to flag early destruction) this is pretty meaningless. Landed in http://trac.webkit.org/changeset/122166 (In reply to comment #22) > Landed in http://trac.webkit.org/changeset/122166 It made 170 tests crash on 32 bit platforms, see https://bugs.webkit.org/show_bug.cgi?id=90852 for details. Broke !ENABLE(JIT): http://build.webkit.org/builders/WinCE%20Release%20%28Build%29/builds/25753/steps/compile-webkit/logs/stdio PING? !ENABLE(JIT) still does not build. (In reply to comment #25) > PING? !ENABLE(JIT) still does not build. See http://trac.webkit.org/changeset/123107 |