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