WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
124087
Get rid of the bizarre Darwin/x86-only MacroAssembler::shouldBlindForSpecificArch(uintptr_t) overload
https://bugs.webkit.org/show_bug.cgi?id=124087
Summary
Get rid of the bizarre Darwin/x86-only MacroAssembler::shouldBlindForSpecific...
Filip Pizlo
Reported
2013-11-08 16:57:19 PST
Patch forthcoming.
Attachments
the patch
(2.55 KB, patch)
2013-11-08 16:57 PST
,
Filip Pizlo
msaboff
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2013-11-08 16:57:53 PST
Created
attachment 216464
[details]
the patch
Filip Pizlo
Comment 2
2013-11-08 17:27:51 PST
Landed in
http://trac.webkit.org/changeset/158981
Darin Adler
Comment 3
2013-11-08 17:36:58 PST
Comment on
attachment 216464
[details]
the patch View in context:
https://bugs.webkit.org/attachment.cgi?id=216464&action=review
> Source/JavaScriptCore/assembler/MacroAssembler.h:992 > + if (sizeof(void*) == 4) > + return shouldBlindForSpecificArch(static_cast<uint32_t>(value)); > + return shouldBlindForSpecificArch(static_cast<uint64_t>(value));
Why doesn’t this work? return shouldBlindForSpecificArch(value); I’d expect that overloading would take care of the rest. No need for the if statement.
Filip Pizlo
Comment 4
2013-11-08 17:41:29 PST
Comment on
attachment 216464
[details]
the patch View in context:
https://bugs.webkit.org/attachment.cgi?id=216464&action=review
>> Source/JavaScriptCore/assembler/MacroAssembler.h:992 >> + return shouldBlindForSpecificArch(static_cast<uint64_t>(value)); > > Why doesn’t this work? > > return shouldBlindForSpecificArch(value); > > I’d expect that overloading would take care of the rest. No need for the if statement.
On some compilers (including a version of clang in one of the toolchains that we build on), uint32_t, uint64_t and uintptr_t are different types. Hence passing uintptr_t causes a compile error; the compiler claims that the call overload is ambiguous. This patch fixes that compile error. It also removes a Darwin-only, and x86-only hack to avoid this ambiguity. See the code I remove in MacroAssemblerX86Common.
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