forked from mozilla/gecko-dev
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge inbound to mozilla-central. a=merge
--HG-- rename : toolkit/themes/shared/in-content/check-partial.svg => toolkit/themes/shared/icons/check-partial.svg rename : browser/themes/shared/icons/check.svg => toolkit/themes/shared/icons/check.svg
- Loading branch information
Showing
95 changed files
with
1,351 additions
and
2,030 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
[winasan] Reduce hotpatch prefix check to 8 bytes | ||
|
||
Same idea as r310419: The 8 byte nop is a suffix of the 9 byte nop, and we need at most 6 bytes. | ||
|
||
Differential Revision: https://reviews.llvm.org/D51788 | ||
|
||
--- a/compiler-rt/lib/interception/interception_win.cc (revision 342648) | ||
+++ b/compiler-rt/lib/interception/interception_win.cc (revision 342649) | ||
@@ -223,8 +223,8 @@ | ||
return true; | ||
} | ||
|
||
-static const u8 kHintNop9Bytes[] = { | ||
- 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 | ||
+static const u8 kHintNop8Bytes[] = { | ||
+ 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 | ||
}; | ||
|
||
template<class T> | ||
@@ -239,8 +239,8 @@ | ||
static bool FunctionHasPadding(uptr address, uptr size) { | ||
if (IsMemoryPadding(address - size, size)) | ||
return true; | ||
- if (size <= sizeof(kHintNop9Bytes) && | ||
- FunctionHasPrefix(address, kHintNop9Bytes)) | ||
+ if (size <= sizeof(kHintNop8Bytes) && | ||
+ FunctionHasPrefix(address, kHintNop8Bytes)) | ||
return true; | ||
return false; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
[winasan] Unpoison the stack in NtTerminateThread | ||
|
||
In long-running builds we've seen some ASan complaints during thread creation that we suspect are due to leftover poisoning from previous threads whose stacks occupied that memory. This patch adds a hook that unpoisons the stack just before the NtTerminateThread syscall. | ||
|
||
Differential Revision: https://reviews.llvm.org/D52091 | ||
|
||
--- a/compiler-rt/lib/asan/asan_win.cc (revision 342651) | ||
+++ b/compiler-rt/lib/asan/asan_win.cc (revision 342652) | ||
@@ -154,6 +154,14 @@ | ||
asan_thread_start, t, thr_flags, tid); | ||
} | ||
|
||
+INTERCEPTOR_WINAPI(void, NtTerminateThread, void *rcx) { | ||
+ // Unpoison the terminating thread's stack because the memory may be re-used. | ||
+ NT_TIB *tib = (NT_TIB *)NtCurrentTeb(); | ||
+ uptr stackSize = (uptr)tib->StackBase - (uptr)tib->StackLimit; | ||
+ __asan_unpoison_memory_region(tib->StackLimit, stackSize); | ||
+ return REAL(NtTerminateThread(rcx)); | ||
+} | ||
+ | ||
// }}} | ||
|
||
namespace __asan { | ||
@@ -161,7 +169,9 @@ | ||
void InitializePlatformInterceptors() { | ||
ASAN_INTERCEPT_FUNC(CreateThread); | ||
ASAN_INTERCEPT_FUNC(SetUnhandledExceptionFilter); | ||
- | ||
+ CHECK(::__interception::OverrideFunction("NtTerminateThread", | ||
+ (uptr)WRAP(NtTerminateThread), | ||
+ (uptr *)&REAL(NtTerminateThread))); | ||
#ifdef _WIN64 | ||
ASAN_INTERCEPT_FUNC(__C_specific_handler); | ||
#else |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<style> | ||
:last-child{ | ||
border-width: 9596.6vmin thin; | ||
border-style: dotted; | ||
} | ||
</style> | ||
<rect id='id3'/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 5 additions & 2 deletions
7
...ests/wasm/regress/proxy-has-trap-table.js → ...ests/wasm/regress/proxy-get-trap-table.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,14 @@ | ||
// The 'get' handler should be invoked directly when reading fields of the | ||
// descriptor. | ||
|
||
assertErrorMessage(() => { | ||
var desc = { | ||
element: "anyfunc", | ||
initial: 1 | ||
}; | ||
var proxy = new Proxy({}, { | ||
has: true | ||
get: true | ||
}); | ||
Object.setPrototypeOf(desc, proxy); | ||
let table = new WebAssembly.Table(desc); | ||
}, TypeError, /proxy handler's has trap/); | ||
}, TypeError, /proxy handler's get trap/); |
Oops, something went wrong.