Bug 73375 - Resetting a put_by_id inline cache should preserve the "isDirect" bit
Summary: Resetting a put_by_id inline cache should preserve the "isDirect" bit
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2011-11-29 16:54 PST by Filip Pizlo
Modified: 2011-11-30 01:54 PST (History)
2 users (show)

See Also:


Attachments
the patch (11.70 KB, patch)
2011-11-29 17:04 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2011-11-29 16:54:29 PST
Currently when a put_by_id inline cache is reset, we forget if it was direct.
Comment 1 Filip Pizlo 2011-11-29 16:56:00 PST
<rdar://problem/10500875>
Comment 2 Filip Pizlo 2011-11-29 17:04:41 PST
Created attachment 117075 [details]
the patch
Comment 3 WebKit Review Bot 2011-11-29 23:46:23 PST
Attachment 117075 [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/JITPropertyAccess.cpp:1160:  Declaration has space between type name and * in void *oldCall  [whitespace/declaration] [3]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Filip Pizlo 2011-11-30 00:44:58 PST
Landed in http://trac.webkit.org/changeset/101457
Comment 5 Filip Pizlo 2011-11-30 00:45:19 PST
(In reply to comment #3)
> Attachment 117075 [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/JITPropertyAccess.cpp:1160:  Declaration has space between type name and * in void *oldCall  [whitespace/declaration] [3]
> Total errors found: 1 in 10 files
> 
> 
> If any of these errors are false positives, please file a bug against check-webkit-style.

Ooops!  I addressed this in the code that I committed.
Comment 6 Filip Pizlo 2011-11-30 00:45:35 PST
Comment on attachment 117075 [details]
the patch

Clearing flags after landing.
Comment 7 Csaba Osztrogonác 2011-11-30 00:57:37 PST
It broke the Qt ARM build:

../../../../Source/JavaScriptCore/jit/JITPropertyAccess.cpp: In static member function 'static bool JSC::JIT::isDirectPutById(JSC::StructureStubInfo*)':
../../../../Source/JavaScriptCore/jit/JITPropertyAccess.cpp:1160: error: 'readCallTarget' is not a member of 'JSC::MacroAssembler'
Comment 8 Filip Pizlo 2011-11-30 01:00:56 PST
(In reply to comment #7)
> It broke the Qt ARM build:
> 
> ../../../../Source/JavaScriptCore/jit/JITPropertyAccess.cpp: In static member function 'static bool JSC::JIT::isDirectPutById(JSC::StructureStubInfo*)':
> ../../../../Source/JavaScriptCore/jit/JITPropertyAccess.cpp:1160: error: 'readCallTarget' is not a member of 'JSC::MacroAssembler'

ARMv6 or ARMv7?
Comment 9 Filip Pizlo 2011-11-30 01:54:15 PST
(In reply to comment #8)
> (In reply to comment #7)
> > It broke the Qt ARM build:
> > 
> > ../../../../Source/JavaScriptCore/jit/JITPropertyAccess.cpp: In static member function 'static bool JSC::JIT::isDirectPutById(JSC::StructureStubInfo*)':
> > ../../../../Source/JavaScriptCore/jit/JITPropertyAccess.cpp:1160: error: 'readCallTarget' is not a member of 'JSC::MacroAssembler'
> 
> ARMv6 or ARMv7?

Proposed patch for ARMv6 here: https://bugs.webkit.org/show_bug.cgi?id=73413