WebKit Bugzilla
Attachment 339829 Details for
Bug 185428
: [MIPS] Collect callee-saved register using inline assembly
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-185428-20180508192552.patch (text/plain), 1.87 KB, created by
Dominik Inführ
on 2018-05-08 10:25:53 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Dominik Inführ
Created:
2018-05-08 10:25:53 PDT
Size:
1.87 KB
patch
obsolete
>Subversion Revision: 231489 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index e69a3cf25d04636ddf2ec1a6bf5751e174860948..42603026a010ce64cb40950232a69c49bf99dfd3 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,15 @@ >+2018-05-08 Dominik Infuehr <dinfuehr@igalia.com> >+ >+ [MIPS] Collect callee-saved register using inline assembly >+ https://bugs.webkit.org/show_bug.cgi?id=185428 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ MIPS used setjmp instead of collecting registers with inline assembly like >+ other architectures. >+ >+ * heap/RegisterState.h: >+ > 2018-05-07 Daniel Bates <dabates@apple.com> > > Check X-Frame-Options and CSP frame-ancestors in network process >diff --git a/Source/JavaScriptCore/heap/RegisterState.h b/Source/JavaScriptCore/heap/RegisterState.h >index 3751eb16414d74178d5ad1877dca4fae2b2a9dca..e5c056a1206c1744364c3843930a84f0a28f30b4 100644 >--- a/Source/JavaScriptCore/heap/RegisterState.h >+++ b/Source/JavaScriptCore/heap/RegisterState.h >@@ -127,6 +127,32 @@ struct RegisterState { > SAVE_REG(x27, registers.x27); \ > SAVE_REG(x28, registers.x28) > >+#elif CPU(MIPS) >+struct RegisterState { >+ uint32_t r16; >+ uint32_t r17; >+ uint32_t r18; >+ uint32_t r19; >+ uint32_t r20; >+ uint32_t r21; >+ uint32_t r22; >+ uint32_t r23; >+}; >+ >+#define SAVE_REG(regname, where) \ >+ asm volatile ("sw $" #regname ", %0" : "=m"(where) : : "memory") >+ >+#define ALLOCATE_AND_GET_REGISTER_STATE(registers) \ >+ RegisterState registers; \ >+ SAVE_REG(16, registers.r16); \ >+ SAVE_REG(17, registers.r17); \ >+ SAVE_REG(18, registers.r18); \ >+ SAVE_REG(19, registers.r19); \ >+ SAVE_REG(20, registers.r20); \ >+ SAVE_REG(21, registers.r21); \ >+ SAVE_REG(22, registers.r22); \ >+ SAVE_REG(23, registers.r23) >+ > #endif > #endif // !OS(WINDOWS) >
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 185428
: 339829