WebKit Bugzilla
Attachment 348539 Details for
Bug 189166
: Switch int8_t to GPRReg in StructureStubInfo because sizeof(GPRReg) == sizeof(int8_t)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
c-backup.diff (text/plain), 8.14 KB, created by
Saam Barati
on 2018-08-30 13:39:01 PDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Saam Barati
Created:
2018-08-30 13:39:01 PDT
Size:
8.14 KB
patch
obsolete
>Index: Source/JavaScriptCore/ChangeLog >=================================================================== >--- Source/JavaScriptCore/ChangeLog (revision 235521) >+++ Source/JavaScriptCore/ChangeLog (working copy) >@@ -1,3 +1,25 @@ >+2018-08-30 Saam barati <sbarati@apple.com> >+ >+ Switch int8_t to GPRReg in StructureStubInfo because sizeof(GPRReg) == sizeof(int8_t) >+ https://bugs.webkit.org/show_bug.cgi?id=189166 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * bytecode/AccessCase.cpp: >+ (JSC::AccessCase::generateImpl): >+ * bytecode/GetterSetterAccessCase.cpp: >+ (JSC::GetterSetterAccessCase::emitDOMJITGetter): >+ * bytecode/InlineAccess.cpp: >+ (JSC::getScratchRegister): >+ * bytecode/PolymorphicAccess.cpp: >+ (JSC::PolymorphicAccess::regenerate): >+ * bytecode/StructureStubInfo.h: >+ (JSC::StructureStubInfo::valueRegs const): >+ * jit/JITInlineCacheGenerator.cpp: >+ (JSC::JITByIdGenerator::JITByIdGenerator): >+ (JSC::JITGetByIdWithThisGenerator::JITGetByIdWithThisGenerator): >+ (JSC::JITInstanceOfGenerator::JITInstanceOfGenerator): >+ > 2018-08-30 Saam barati <sbarati@apple.com> > > InlineAccess should do StringLength >Index: Source/JavaScriptCore/bytecode/AccessCase.cpp >=================================================================== >--- Source/JavaScriptCore/bytecode/AccessCase.cpp (revision 235520) >+++ Source/JavaScriptCore/bytecode/AccessCase.cpp (working copy) >@@ -1066,7 +1066,7 @@ void AccessCase::generateImpl(AccessGene > ScratchRegisterAllocator allocator(stubInfo.patch.usedRegisters); > allocator.lock(baseGPR); > #if USE(JSVALUE32_64) >- allocator.lock(static_cast<GPRReg>(stubInfo.patch.baseTagGPR)); >+ allocator.lock(stubInfo.patch.baseTagGPR); > #endif > allocator.lock(valueRegs); > allocator.lock(scratchGPR); >Index: Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp >=================================================================== >--- Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp (revision 235520) >+++ Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp (working copy) >@@ -141,7 +141,7 @@ void GetterSetterAccessCase::emitDOMJITG > ScratchRegisterAllocator allocator(stubInfo.patch.usedRegisters); > allocator.lock(baseGPR); > #if USE(JSVALUE32_64) >- allocator.lock(static_cast<GPRReg>(stubInfo.patch.baseTagGPR)); >+ allocator.lock(stubInfo.patch.baseTagGPR); > #endif > allocator.lock(valueRegs); > allocator.lock(scratchGPR); >Index: Source/JavaScriptCore/bytecode/InlineAccess.cpp >=================================================================== >--- Source/JavaScriptCore/bytecode/InlineAccess.cpp (revision 235520) >+++ Source/JavaScriptCore/bytecode/InlineAccess.cpp (working copy) >@@ -198,10 +198,10 @@ ALWAYS_INLINE static GPRReg getScratchRe > { > ScratchRegisterAllocator allocator(stubInfo.patch.usedRegisters); > allocator.lock(stubInfo.baseGPR()); >- allocator.lock(static_cast<GPRReg>(stubInfo.patch.valueGPR)); >+ allocator.lock(stubInfo.patch.valueGPR); > #if USE(JSVALUE32_64) >- allocator.lock(static_cast<GPRReg>(stubInfo.patch.baseTagGPR)); >- allocator.lock(static_cast<GPRReg>(stubInfo.patch.valueTagGPR)); >+ allocator.lock(stubInfo.patch.baseTagGPR); >+ allocator.lock(stubInfo.patch.valueTagGPR); > #endif > GPRReg scratch = allocator.allocateScratchGPR(); > if (allocator.didReuseRegisters()) >Index: Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp >=================================================================== >--- Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp (revision 235520) >+++ Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp (working copy) >@@ -382,7 +382,7 @@ AccessGenerationResult PolymorphicAccess > state.ident = &ident; > > state.baseGPR = stubInfo.baseGPR(); >- state.thisGPR = static_cast<GPRReg>(stubInfo.patch.thisGPR); >+ state.thisGPR = stubInfo.patch.thisGPR; > state.valueRegs = stubInfo.valueRegs(); > > ScratchRegisterAllocator allocator(stubInfo.patch.usedRegisters); >@@ -392,7 +392,7 @@ AccessGenerationResult PolymorphicAccess > allocator.lock(state.thisGPR); > allocator.lock(state.valueRegs); > #if USE(JSVALUE32_64) >- allocator.lock(static_cast<GPRReg>(stubInfo.patch.baseTagGPR)); >+ allocator.lock(stubInfo.patch.baseTagGPR); > #endif > > state.scratchGPR = allocator.allocateScratchGPR(); >Index: Source/JavaScriptCore/bytecode/StructureStubInfo.h >=================================================================== >--- Source/JavaScriptCore/bytecode/StructureStubInfo.h (revision 235520) >+++ Source/JavaScriptCore/bytecode/StructureStubInfo.h (working copy) >@@ -191,19 +191,19 @@ public: > int32_t deltaFromStartToSlowPathCallLocation; > int32_t deltaFromStartToSlowPathStart; > >- int8_t baseGPR; >- int8_t valueGPR; >- int8_t thisGPR; >+ GPRReg baseGPR; >+ GPRReg valueGPR; >+ GPRReg thisGPR; > #if USE(JSVALUE32_64) >- int8_t valueTagGPR; >- int8_t baseTagGPR; >- int8_t thisTagGPR; >+ GPRReg valueTagGPR; >+ GPRReg baseTagGPR; >+ GPRReg thisTagGPR; > #endif > } patch; > > GPRReg baseGPR() const > { >- return static_cast<GPRReg>(patch.baseGPR); >+ return patch.baseGPR; > } > > CodeLocationCall<JSInternalPtrTag> slowPathCallLocation() { return patch.start.callAtOffset<JSInternalPtrTag>(patch.deltaFromStartToSlowPathCallLocation); } >@@ -219,9 +219,9 @@ public: > { > return JSValueRegs( > #if USE(JSVALUE32_64) >- static_cast<GPRReg>(patch.valueTagGPR), >+ patch.valueTagGPR, > #endif >- static_cast<GPRReg>(patch.valueGPR)); >+ patch.valueGPR); > } > > >Index: Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp >=================================================================== >--- Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp (revision 235520) >+++ Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp (working copy) >@@ -76,13 +76,13 @@ JITByIdGenerator::JITByIdGenerator( > , m_base(base) > , m_value(value) > { >- m_stubInfo->patch.baseGPR = static_cast<int8_t>(base.payloadGPR()); >- m_stubInfo->patch.valueGPR = static_cast<int8_t>(value.payloadGPR()); >- m_stubInfo->patch.thisGPR = static_cast<int8_t>(InvalidGPRReg); >+ m_stubInfo->patch.baseGPR = base.payloadGPR(); >+ m_stubInfo->patch.valueGPR = value.payloadGPR(); >+ m_stubInfo->patch.thisGPR = InvalidGPRReg; > #if USE(JSVALUE32_64) >- m_stubInfo->patch.baseTagGPR = static_cast<int8_t>(base.tagGPR()); >- m_stubInfo->patch.valueTagGPR = static_cast<int8_t>(value.tagGPR()); >- m_stubInfo->patch.thisTagGPR = static_cast<int8_t>(InvalidGPRReg); >+ m_stubInfo->patch.baseTagGPR = base.tagGPR(); >+ m_stubInfo->patch.valueTagGPR = value.tagGPR(); >+ m_stubInfo->patch.thisTagGPR = InvalidGPRReg; > #endif > } > >@@ -126,9 +126,9 @@ JITGetByIdWithThisGenerator::JITGetByIdW > { > RELEASE_ASSERT(thisRegs.payloadGPR() != thisRegs.tagGPR()); > >- m_stubInfo->patch.thisGPR = static_cast<int8_t>(thisRegs.payloadGPR()); >+ m_stubInfo->patch.thisGPR = thisRegs.payloadGPR(); > #if USE(JSVALUE32_64) >- m_stubInfo->patch.thisTagGPR = static_cast<int8_t>(thisRegs.tagGPR()); >+ m_stubInfo->patch.thisTagGPR = thisRegs.tagGPR(); > #endif > } > >@@ -188,13 +188,13 @@ JITInstanceOfGenerator::JITInstanceOfGen > : JITInlineCacheGenerator( > codeBlock, codeOrigin, callSiteIndex, AccessType::InstanceOf, usedRegisters) > { >- m_stubInfo->patch.baseGPR = static_cast<int8_t>(value); >- m_stubInfo->patch.valueGPR = static_cast<int8_t>(result); >- m_stubInfo->patch.thisGPR = static_cast<int8_t>(prototype); >+ m_stubInfo->patch.baseGPR = value; >+ m_stubInfo->patch.valueGPR = result; >+ m_stubInfo->patch.thisGPR = prototype; > #if USE(JSVALUE32_64) >- m_stubInfo->patch.baseTagGPR = static_cast<int8_t>(InvalidGPRReg); >- m_stubInfo->patch.valueTagGPR = static_cast<int8_t>(InvalidGPRReg); >- m_stubInfo->patch.thisTagGPR = static_cast<int8_t>(InvalidGPRReg); >+ m_stubInfo->patch.baseTagGPR = InvalidGPRReg; >+ m_stubInfo->patch.valueTagGPR = InvalidGPRReg; >+ m_stubInfo->patch.thisTagGPR = InvalidGPRReg; > #endif > > m_stubInfo->patch.usedRegisters.clear(result);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 189166
:
348538
| 348539