Changeset 255169 in webkit
- Timestamp:
- Jan 27, 2020 1:37:19 PM (4 years ago)
- Location:
- trunk/Source
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r255159 r255169 1 2020-01-27 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, rolling out r255159. 4 5 Broke the watchOS build. 6 7 Reverted changeset: 8 9 "Fix OpenSource iphoneos arm64e build" 10 https://bugs.webkit.org/show_bug.cgi?id=206703 11 https://trac.webkit.org/changeset/255159 12 1 13 2020-01-27 Jonathan Bedard <jbedard@apple.com> 2 14 -
trunk/Source/JavaScriptCore/runtime/MachineContext.h
r255159 r255169 59 59 60 60 #if !USE(PLATFORM_REGISTERS_WITH_PROFILE) 61 62 #if !USE(DARWIN_REGISTER_MACROS)63 61 static inline void*& stackPointerImpl(mcontext_t&); 62 static inline void*& framePointerImpl(mcontext_t&); 64 63 static inline void*& instructionPointerImpl(mcontext_t&); 65 #endif // !USE(DARWIN_REGISTER_MACROS)66 67 static inline void*& framePointerImpl(mcontext_t&);68 64 #endif // !USE(PLATFORM_REGISTERS_WITH_PROFILE) 69 65 … … 86 82 #if OS(WINDOWS) || HAVE(MACHINE_CONTEXT) 87 83 88 #if !USE(PLATFORM_REGISTERS_WITH_PROFILE) && !USE(DARWIN_REGISTER_MACROS)84 #if !USE(PLATFORM_REGISTERS_WITH_PROFILE) 89 85 static inline void*& stackPointerImpl(PlatformRegisters& regs) 90 86 { … … 98 94 #elif CPU(PPC) || CPU(PPC64) 99 95 return reinterpret_cast<void*&>(regs.__r1); 96 #elif CPU(ARM_THUMB2) || CPU(ARM) || CPU(ARM64) 97 return reinterpret_cast<void*&>(regs.__sp); 100 98 #else 101 99 #error Unknown Architecture … … 143 141 assertIsNotTagged(value); 144 142 return bitwise_cast<T>(value); 145 #elif USE(DARWIN_REGISTER_MACROS)146 return bitwise_cast<T>(__darwin_arm_thread_state64_get_sp(regs));147 143 #else 148 144 return bitwise_cast<T>(stackPointerImpl(const_cast<PlatformRegisters&>(regs))); … … 156 152 assertIsNotTagged(bitwise_cast<void*>(value)); 157 153 WTF_WRITE_PLATFORM_REGISTERS_SP_WITH_PROFILE(regs, bitwise_cast<void*>(value)); 158 #elif USE(DARWIN_REGISTER_MACROS)159 __darwin_arm_thread_state64_set_sp(regs, value);160 154 #else 161 155 stackPointerImpl(regs) = bitwise_cast<void*>(value); … … 174 168 #if HAVE(MACHINE_CONTEXT) 175 169 176 #if !USE(PLATFORM_REGISTERS_WITH_PROFILE) && !USE(DARWIN_REGISTER_MACROS)170 #if !USE(PLATFORM_REGISTERS_WITH_PROFILE) 177 171 static inline void*& stackPointerImpl(mcontext_t& machineContext) 178 172 { … … 221 215 assertIsNotTagged(value); 222 216 return bitwise_cast<T>(value); 223 #elif USE(DARWIN_REGISTER_MACROS)224 return stackPointer(machineContext->__ss);225 217 #else 226 218 return bitwise_cast<T>(stackPointerImpl(const_cast<mcontext_t&>(machineContext))); … … 234 226 assertIsNotTagged(bitwise_cast<void*>(value)); 235 227 WTF_WRITE_MACHINE_CONTEXT_SP_WITH_PROFILE(machineContext, bitwise_cast<void*>(value)); 236 #elif USE(DARWIN_REGISTER_MACROS)237 return setStackPointer(machineContext->__ss, value);238 228 #else 239 229 stackPointerImpl(machineContext) = bitwise_cast<void*>(value); … … 396 386 #if OS(WINDOWS) || HAVE(MACHINE_CONTEXT) 397 387 398 #if !USE(PLATFORM_REGISTERS_WITH_PROFILE) && !USE(DARWIN_REGISTER_MACROS)388 #if !USE(PLATFORM_REGISTERS_WITH_PROFILE) 399 389 static inline void*& instructionPointerImpl(PlatformRegisters& regs) 400 390 { … … 406 396 #elif CPU(X86_64) 407 397 return reinterpret_cast<void*&>(regs.__rip); 398 #elif CPU(ARM_THUMB2) || CPU(ARM) || CPU(ARM64) 399 return reinterpret_cast<void*&>(regs.__pc); 408 400 #else 409 401 #error Unknown Architecture … … 445 437 #if USE(PLATFORM_REGISTERS_WITH_PROFILE) 446 438 void* value = WTF_READ_PLATFORM_REGISTERS_PC_WITH_PROFILE(regs); 447 #elif USE(DARWIN_REGISTER_MACROS)448 void* value = __darwin_arm_thread_state64_get_pc_fptr(regs);449 439 #else 450 440 void* value = instructionPointerImpl(const_cast<PlatformRegisters&>(regs)); … … 463 453 #if USE(PLATFORM_REGISTERS_WITH_PROFILE) 464 454 WTF_WRITE_PLATFORM_REGISTERS_PC_WITH_PROFILE(regs, value.executableAddress()); 465 #elif USE(DARWIN_REGISTER_MACROS)466 __darwin_arm_thread_state64_set_pc_fptr(regs, value.executableAddress());467 455 #else 468 456 instructionPointerImpl(regs) = value.executableAddress(); … … 474 462 #if HAVE(MACHINE_CONTEXT) 475 463 476 #if !USE(PLATFORM_REGISTERS_WITH_PROFILE) && !USE(DARWIN_REGISTER_MACROS)464 #if !USE(PLATFORM_REGISTERS_WITH_PROFILE) 477 465 static inline void*& instructionPointerImpl(mcontext_t& machineContext) 478 466 { … … 520 508 inline MacroAssemblerCodePtr<PlatformRegistersPCPtrTag> instructionPointer(const mcontext_t& machineContext) 521 509 { 522 #if USE(DARWIN_REGISTER_MACROS)523 return *instructionPointer(machineContext->__ss);524 #else525 526 510 #if USE(PLATFORM_REGISTERS_WITH_PROFILE) 527 511 void* value = WTF_READ_MACHINE_CONTEXT_PC_WITH_PROFILE(machineContext); … … 529 513 void* value = instructionPointerImpl(const_cast<mcontext_t&>(machineContext)); 530 514 #endif 531 532 515 return MacroAssemblerCodePtr<PlatformRegistersPCPtrTag>(value); 533 #endif534 516 } 535 517 … … 538 520 #if USE(PLATFORM_REGISTERS_WITH_PROFILE) 539 521 WTF_WRITE_MACHINE_CONTEXT_PC_WITH_PROFILE(machineContext, value.executableAddress()); 540 #elif USE(DARWIN_REGISTER_MACROS)541 setInstructionPointer(machineContext->__ss, value);542 522 #else 543 523 instructionPointerImpl(machineContext) = value.executableAddress(); … … 550 530 551 531 #if OS(DARWIN) && __DARWIN_UNIX03 && CPU(ARM64) 532 #if !USE(PLATFORM_REGISTERS_WITH_PROFILE) 533 inline void*& linkRegisterImpl(PlatformRegisters& regs) 534 { 535 return reinterpret_cast<void*&>(regs.__lr); 536 } 537 #endif // USE(PLATFORM_REGISTERS_WITH_PROFILE) 538 552 539 553 540 inline MacroAssemblerCodePtr<PlatformRegistersLRPtrTag> linkRegister(const PlatformRegisters& regs) … … 556 543 void* value = WTF_READ_PLATFORM_REGISTERS_LR_WITH_PROFILE(regs); 557 544 #else 558 void* value = __darwin_arm_thread_state64_get_lr_fptr(regs);545 void* value = linkRegisterImpl(const_cast<PlatformRegisters&>(regs)); 559 546 #endif 560 547 return MacroAssemblerCodePtr<PlatformRegistersLRPtrTag>(value); … … 566 553 WTF_WRITE_PLATFORM_REGISTERS_PC_WITH_PROFILE(regs, value.executableAddress()); 567 554 #else 568 __darwin_arm_thread_state64_set_lr_fptr(regs, value.executableAddress());555 linkRegisterImpl(regs) = value.executableAddress(); 569 556 #endif 570 557 } -
trunk/Source/WTF/ChangeLog
r255159 r255169 1 2020-01-27 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, rolling out r255159. 4 5 Broke the watchOS build. 6 7 Reverted changeset: 8 9 "Fix OpenSource iphoneos arm64e build" 10 https://bugs.webkit.org/show_bug.cgi?id=206703 11 https://trac.webkit.org/changeset/255159 12 1 13 2020-01-27 Jonathan Bedard <jbedard@apple.com> 2 14 -
trunk/Source/WTF/wtf/PlatformUse.h
r255159 r255169 308 308 #define USE_BMALLOC_MEMORY_FOOTPRINT_API 1 309 309 #endif 310 311 #if OS(DARWIN) && !USE(PLATFORM_REGISTERS_WITH_PROFILE) && (CPU(ARM_THUMB2) || CPU(ARM) || CPU(ARM64))312 #define USE_DARWIN_REGISTER_MACROS 1313 #endif
Note: See TracChangeset
for help on using the changeset viewer.