WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
159863
RegisterSet should use a Bitmap instead of a BitVector so that it never allocates memory and is trivial to copy
https://bugs.webkit.org/show_bug.cgi?id=159863
Summary
RegisterSet should use a Bitmap instead of a BitVector so that it never alloc...
Filip Pizlo
Reported
2016-07-17 16:03:40 PDT
Patch forthcoming.
Attachments
the patch
(15.03 KB, patch)
2016-07-17 16:09 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
the patch
(14.99 KB, patch)
2016-07-17 17:18 PDT
,
Filip Pizlo
saam
: review+
Details
Formatted Diff
Diff
patch for landing
(15.04 KB, patch)
2016-07-17 17:58 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2016-07-17 16:09:23 PDT
Created
attachment 283872
[details]
the patch
WebKit Commit Bot
Comment 2
2016-07-17 16:11:53 PDT
Attachment 283872
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/jit/RegisterSet.h:146: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 10 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 3
2016-07-17 17:18:38 PDT
Created
attachment 283874
[details]
the patch fix arms
WebKit Commit Bot
Comment 4
2016-07-17 17:20:29 PDT
Attachment 283874
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/jit/RegisterSet.h:146: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 10 files If any of these errors are false positives, please file a bug against check-webkit-style.
Saam Barati
Comment 5
2016-07-17 17:46:15 PDT
Comment on
attachment 283874
[details]
the patch View in context:
https://bugs.webkit.org/attachment.cgi?id=283874&action=review
r=me
> Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:40 > + static const unsigned numGPRs = 32;
Why put this in the MacroAssembler instead of GPRInfo? I thought GPRInfo is the place for such things.
> Source/WTF/ChangeLog:8 > + Give Bigmap all of the power of BitVector (except for automatic resizing). This means a
Typo: Bigmap
> Source/WTF/wtf/Bitmap.h:39 > +// NOTE: WordType must not be bigger than unsigned.
This should be a static assert instead of a comment.
Filip Pizlo
Comment 6
2016-07-17 17:55:34 PDT
(In reply to
comment #5
)
> Comment on
attachment 283874
[details]
> the patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=283874&action=review
> > r=me > > > Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:40 > > + static const unsigned numGPRs = 32; > > Why put this in the MacroAssembler instead of GPRInfo? I thought GPRInfo is > the place for such things.
No, because GPRInfo is the set of registers that are useful to high-level-MacroAssembler-based compilers. It already has a numberOfRegisters field, and it doesn't count things like SP, FP, or the scratch registers. That's the separation: MacroAssembler has some reflection over registers that tells you about *all* registers, while GPRInfo has reflection over registers that tells you just about those registers that you would find useful if you were casually using MacroAssembler API. Note that RegisterSet is to MacroAssembler as TempRegisterSet is to GPRInfo/FPRInfo. TempRegisterSet uses GPRInfo::numberOfRegisters for example.
> > > Source/WTF/ChangeLog:8 > > + Give Bigmap all of the power of BitVector (except for automatic resizing). This means a > > Typo: Bigmap
Fixed.
> > > Source/WTF/wtf/Bitmap.h:39 > > +// NOTE: WordType must not be bigger than unsigned. > > This should be a static assert instead of a comment.
OK.
Filip Pizlo
Comment 7
2016-07-17 17:58:01 PDT
Created
attachment 283876
[details]
patch for landing
WebKit Commit Bot
Comment 8
2016-07-17 17:59:43 PDT
Attachment 283876
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/jit/RegisterSet.h:146: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 10 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 9
2016-07-18 12:52:59 PDT
Landed in
https://trac.webkit.org/changeset/203365
Csaba Osztrogonác
Comment 10
2016-07-19 07:32:18 PDT
(In reply to
comment #9
)
> Landed in
https://trac.webkit.org/changeset/203365
This one or
r203364
made many tests crash on Apple Mac 32 bit bots: -
https://build.webkit.org/builders/Apple%20Yosemite%2032-bit%20JSC%20%28BuildAndTest%29/builds/9824
-
https://build.webkit.org/builders/Apple%20El%20Capitan%2032-bit%20JSC%20%28BuildAndTest%29/builds/2948
( Last known good revision:
r203363
, first known bad revision:
r203368
)
Csaba Osztrogonác
Comment 11
2016-07-19 09:32:18 PDT
This change is innocent, the other one is the culprit.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug