Bug 881401 - Use explicit template instantiation. r=bhackett
authorDan Gohman <sunfish@google.com>
Mon, 10 Jun 2013 14:13:57 -0700
changeset 134565 8024f115507c49b7557634750674084d0598248a
parent 134564 197ef764c05115b066e6d7458fc377e0aac3c333
child 134566 21e3c26108143c727b9304eacf8b916de62f9f44
push id29271
push usersunfish@google.com
push dateMon, 10 Jun 2013 21:16:22 +0000
treeherdermozilla-inbound@8024f115507c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbhackett
bugs881401
milestone24.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 881401 - Use explicit template instantiation. r=bhackett
js/src/ion/LiveRangeAllocator.cpp
--- a/js/src/ion/LiveRangeAllocator.cpp
+++ b/js/src/ion/LiveRangeAllocator.cpp
@@ -346,26 +346,19 @@ VirtualRegister::intervalFor(CodePositio
 
 LiveInterval *
 VirtualRegister::getFirstInterval()
 {
     JS_ASSERT(!intervals_.empty());
     return intervals_[0];
 }
 
-// Dummy function to instantiate LiveRangeAllocator for each template instance.
-void
-EnsureLiveRangeAllocatorInstantiation(MIRGenerator *mir, LIRGenerator *lir, LIRGraph &graph)
-{
-    LiveRangeAllocator<LinearScanVirtualRegister> lsra(mir, lir, graph, true);
-    lsra.buildLivenessInfo();
-
-    LiveRangeAllocator<BacktrackingVirtualRegister> backtracking(mir, lir, graph, false);
-    backtracking.buildLivenessInfo();
-}
+// Instantiate LiveRangeAllocator for each template instance.
+template bool LiveRangeAllocator<LinearScanVirtualRegister>::buildLivenessInfo();
+template bool LiveRangeAllocator<BacktrackingVirtualRegister>::buildLivenessInfo();
 
 #ifdef DEBUG
 static inline bool
 NextInstructionHasFixedUses(LBlock *block, LInstruction *ins)
 {
     LInstructionIterator iter(block->begin(ins));
     iter++;
     for (LInstruction::InputIterator alloc(**iter); alloc.more(); alloc.next()) {