mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-10 17:24:29 +00:00
Bug 1395432: Block some inlining for better debugging (in Nightly) r=luke
This commit is contained in:
parent
ef3d37e889
commit
9f5e4df6f4
@ -8,12 +8,20 @@
|
||||
#define jit_BacktrackingAllocator_h
|
||||
|
||||
#include "mozilla/Array.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
|
||||
#include "ds/PriorityQueue.h"
|
||||
#include "ds/SplayTree.h"
|
||||
#include "jit/RegisterAllocator.h"
|
||||
#include "jit/StackSlotAllocator.h"
|
||||
|
||||
// Gives better traces in Nightly/debug builds (could be EARLY_BETA_OR_EARLIER)
|
||||
#if defined(NIGHTLY_BUILD) || defined(DEBUG)
|
||||
#define AVOID_INLINE_FOR_DEBUGGING MOZ_NEVER_INLINE
|
||||
#else
|
||||
#define AVOID_INLINE_FOR_DEBUGGING
|
||||
#endif
|
||||
|
||||
// Backtracking priority queue based register allocator based on that described
|
||||
// in the following blog post:
|
||||
//
|
||||
@ -755,7 +763,7 @@ class BacktrackingAllocator : protected RegisterAllocator
|
||||
MOZ_MUST_USE bool splitAndRequeueBundles(LiveBundle* bundle,
|
||||
const LiveBundleVector& newBundles);
|
||||
MOZ_MUST_USE bool spill(LiveBundle* bundle);
|
||||
MOZ_MUST_USE bool tryAllocatingRegistersForSpillBundles();
|
||||
AVOID_INLINE_FOR_DEBUGGING MOZ_MUST_USE bool tryAllocatingRegistersForSpillBundles();
|
||||
|
||||
bool isReusedInput(LUse* use, LNode* ins, bool considerCopy);
|
||||
bool isRegisterUse(UsePosition* use, LNode* ins, bool considerCopy = false);
|
||||
@ -764,12 +772,12 @@ class BacktrackingAllocator : protected RegisterAllocator
|
||||
MOZ_MUST_USE bool insertAllRanges(LiveRangeSet& set, LiveBundle* bundle);
|
||||
|
||||
// Reification methods.
|
||||
MOZ_MUST_USE bool pickStackSlots();
|
||||
MOZ_MUST_USE bool resolveControlFlow();
|
||||
MOZ_MUST_USE bool reifyAllocations();
|
||||
MOZ_MUST_USE bool populateSafepoints();
|
||||
MOZ_MUST_USE bool annotateMoveGroups();
|
||||
MOZ_MUST_USE bool deadRange(LiveRange* range);
|
||||
AVOID_INLINE_FOR_DEBUGGING MOZ_MUST_USE bool pickStackSlots();
|
||||
AVOID_INLINE_FOR_DEBUGGING MOZ_MUST_USE bool resolveControlFlow();
|
||||
AVOID_INLINE_FOR_DEBUGGING MOZ_MUST_USE bool reifyAllocations();
|
||||
AVOID_INLINE_FOR_DEBUGGING MOZ_MUST_USE bool populateSafepoints();
|
||||
AVOID_INLINE_FOR_DEBUGGING MOZ_MUST_USE bool annotateMoveGroups();
|
||||
AVOID_INLINE_FOR_DEBUGGING MOZ_MUST_USE bool deadRange(LiveRange* range);
|
||||
size_t findFirstNonCallSafepoint(CodePosition from);
|
||||
size_t findFirstSafepoint(CodePosition pos, size_t startFrom);
|
||||
void addLiveRegistersForRange(VirtualRegister& reg, LiveRange* range);
|
||||
|
Loading…
x
Reference in New Issue
Block a user