[compiler-rt] r275887 - [compiler-rt] Allow trampoline allocation further and 1 gig.

Etienne Bergeron via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 18 12:33:05 PDT 2016


Author: etienneb
Date: Mon Jul 18 14:33:05 2016
New Revision: 275887

URL: http://llvm.org/viewvc/llvm-project?rev=275887&view=rev
Log:
[compiler-rt] Allow trampoline allocation further and 1 gig.

Summary:
The trampoline allocation limits the memory scanning to 1 gig.
There is an unittest that is allocating a large object which make
it impossible to the trampoline allocator to find a free spot.

see shadow_mapping_failures:
```
char bigchunk[1 << 30];
```

This patch is not fixing the unittest but it's fixing it's infinite
loop behavior.

Reviewers: rnk

Subscribers: llvm-commits, wang0109, chrisha

Differential Revision: https://reviews.llvm.org/D22471

Modified:
    compiler-rt/trunk/lib/interception/interception_win.cc

Modified: compiler-rt/trunk/lib/interception/interception_win.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/interception/interception_win.cc?rev=275887&r1=275886&r2=275887&view=diff
==============================================================================
--- compiler-rt/trunk/lib/interception/interception_win.cc (original)
+++ compiler-rt/trunk/lib/interception/interception_win.cc Mon Jul 18 14:33:05 2016
@@ -294,7 +294,7 @@ struct TrampolineMemoryRegion {
   uptr max_size;
 };
 
-static const uptr kTrampolineScanLimitRange = 1 << 30;  // 1 gig
+static const uptr kTrampolineScanLimitRange = 1 << 31;  // 2 gig
 static const int kMaxTrampolineRegion = 1024;
 static TrampolineMemoryRegion TrampolineRegions[kMaxTrampolineRegion];
 




More information about the llvm-commits mailing list