Exemplo n.º 1
0
 int getNth( int n )
 {
   TRACELOG;
   if ( ! isMemoized(n) )
   {
     compute(n);
   }
   return getMemoized(n);
 }
Exemplo n.º 2
0
 void BlockCreateNode::gen() {
   BasicNode::gen();
   if (block()->primFailBlockScope) {
     // must generate block (in primitive fail branch)
     assert(!isMemoized(), "shouldn't be memoized");
     genCall();
   } else if (isMemoized()) {
     // test if already created
     theAssembler->Comment("test memoized block");
     Location t = genHelper->moveToReg(block(), Temp1);
     Location t2 = genHelper->loadImmediateOop(deadBlockPR, Temp2, false);
     theAssembler->SubCCR(t, t2, G0);
     Label* done = theAssembler->BneForward(false);
     genCall();
     done->define();
   } else {
     // block has already been created (by initial BlockClone node)
   }
 }