1 --- deps/mozilla/js/src/methodjit/MethodJIT.cpp.orig 2020-09-03 14:46:25 UTC 2 +++ deps/mozilla/js/src/methodjit/MethodJIT.cpp 3 @@ -189,7 +189,13 @@ JS_STATIC_ASSERT(offsetof(VMFrame, regs.fp) == 0x38); 4 JS_STATIC_ASSERT(JSVAL_TAG_MASK == 0xFFFF800000000000LL); 5 JS_STATIC_ASSERT(JSVAL_PAYLOAD_MASK == 0x00007FFFFFFFFFFFLL); 6 7 -asm volatile ( 8 +#ifndef __clang__ 9 +#define VOLATILE volatile 10 +#else 11 +#define VOLATILE 12 +#endif 13 + 14 +asm VOLATILE ( 15 ".text\n" 16 ".globl " SYMBOL_STRING(JaegerTrampoline) "\n" 17 SYMBOL_STRING(JaegerTrampoline) ":" "\n" 18 @@ -236,7 +242,7 @@ SYMBOL_STRING(JaegerTrampoline) ":" "\n" 19 "jmp *0(%rsp)" "\n" 20 ); 21 22 -asm volatile ( 23 +asm VOLATILE ( 24 ".text\n" 25 ".globl " SYMBOL_STRING(JaegerTrampolineReturn) "\n" 26 SYMBOL_STRING(JaegerTrampolineReturn) ":" "\n" 27 @@ -256,7 +262,7 @@ SYMBOL_STRING(JaegerTrampolineReturn) ":" "\n" 28 "ret" "\n" 29 ); 30 31 -asm volatile ( 32 +asm VOLATILE ( 33 ".text\n" 34 ".globl " SYMBOL_STRING(JaegerThrowpoline) "\n" 35 SYMBOL_STRING(JaegerThrowpoline) ":" "\n" 36 @@ -281,7 +287,7 @@ SYMBOL_STRING(JaegerThrowpoline) ":" "\n" 37 38 JS_STATIC_ASSERT(offsetof(VMFrame, regs.fp) == 0x38); 39 40 -asm volatile ( 41 +asm VOLATILE ( 42 ".text\n" 43 ".globl " SYMBOL_STRING(InjectJaegerReturn) "\n" 44 SYMBOL_STRING(InjectJaegerReturn) ":" "\n" 45 @@ -309,7 +315,7 @@ SYMBOL_STRING(InjectJaegerReturn) ":" "\n" 46 JS_STATIC_ASSERT(offsetof(VMFrame, savedEBX) == 0x2c); 47 JS_STATIC_ASSERT(offsetof(VMFrame, regs.fp) == 0x1C); 48 49 -asm volatile ( 50 +asm VOLATILE ( 51 ".text\n" 52 ".globl " SYMBOL_STRING(JaegerTrampoline) "\n" 53 SYMBOL_STRING(JaegerTrampoline) ":" "\n" 54 @@ -339,7 +345,7 @@ SYMBOL_STRING(JaegerTrampoline) ":" "\n" 55 "jmp *16(%ebp)" "\n" 56 ); 57 58 -asm volatile ( 59 +asm VOLATILE ( 60 ".text\n" 61 ".globl " SYMBOL_STRING(JaegerTrampolineReturn) "\n" 62 SYMBOL_STRING(JaegerTrampolineReturn) ":" "\n" 63 @@ -357,7 +363,7 @@ SYMBOL_STRING(JaegerTrampolineReturn) ":" "\n" 64 "ret" "\n" 65 ); 66 67 -asm volatile ( 68 +asm VOLATILE ( 69 ".text\n" 70 ".globl " SYMBOL_STRING(JaegerThrowpoline) "\n" 71 SYMBOL_STRING(JaegerThrowpoline) ":" "\n" 72 @@ -388,7 +394,7 @@ SYMBOL_STRING(JaegerThrowpoline) ":" "\n" 73 74 JS_STATIC_ASSERT(offsetof(VMFrame, regs.fp) == 0x1C); 75 76 -asm volatile ( 77 +asm VOLATILE ( 78 ".text\n" 79 ".globl " SYMBOL_STRING(InjectJaegerReturn) "\n" 80 SYMBOL_STRING(InjectJaegerReturn) ":" "\n" 81 @@ -423,7 +429,7 @@ JS_STATIC_ASSERT(JSReturnReg_Type == JSC::ARMRegisters 82 #define FUNCTION_HEADER_EXTRA 83 #endif 84 85 -asm volatile ( 86 +asm VOLATILE ( 87 ".text\n" 88 FUNCTION_HEADER_EXTRA 89 ".globl " SYMBOL_STRING(InjectJaegerReturn) "\n" 90 @@ -436,7 +442,7 @@ SYMBOL_STRING(InjectJaegerReturn) ":" "\n" 91 "bx lr" "\n" 92 ); 93 94 -asm volatile ( 95 +asm VOLATILE ( 96 ".text\n" 97 FUNCTION_HEADER_EXTRA 98 ".globl " SYMBOL_STRING(JaegerTrampoline) "\n" 99 @@ -495,7 +501,7 @@ SYMBOL_STRING(JaegerTrampoline) ":" "\n" 100 " bx r4" "\n" 101 ); 102 103 -asm volatile ( 104 +asm VOLATILE ( 105 ".text\n" 106 FUNCTION_HEADER_EXTRA 107 ".globl " SYMBOL_STRING(JaegerTrampolineReturn) "\n" 108 @@ -515,7 +521,7 @@ SYMBOL_STRING(JaegerTrampolineReturn) ":" "\n" 109 " pop {r4-r11,pc}" "\n" 110 ); 111 112 -asm volatile ( 113 +asm VOLATILE ( 114 ".text\n" 115 FUNCTION_HEADER_EXTRA 116 ".globl " SYMBOL_STRING(JaegerThrowpoline) "\n" 117 @@ -540,7 +546,7 @@ SYMBOL_STRING(JaegerThrowpoline) ":" "\n" 118 " pop {r4-r11,pc}" "\n" 119 ); 120 121 -asm volatile ( 122 +asm VOLATILE ( 123 ".text\n" 124 FUNCTION_HEADER_EXTRA 125 ".globl " SYMBOL_STRING(JaegerStubVeneer) "\n" 126