예제 #1
0
 @Override
 public int executeInt(VirtualFrame frameValue) throws UnexpectedResultException {
   transferToInterpreter();
   Object expressionValue = this.expression.execute(frameValue);
   return super.executeAndSpecialize0(
       GlobalFlagGuardUninitializedNode.class,
       frameValue,
       expressionValue,
       "Uninitialized monomorphic");
 }
예제 #2
0
 @Override
 public int executeInt(VirtualFrame frameValue) throws UnexpectedResultException {
   transferToInterpreter();
   Object value0Value = this.value0.execute(frameValue);
   Object value1Value = this.value1.execute(frameValue);
   return super.executeAndSpecialize0(
       InvocationGuardUninitializedNode.class,
       frameValue,
       value0Value,
       value1Value,
       "Uninitialized monomorphic");
 }
예제 #3
0
 @Override
 public int executeInt(VirtualFrame frameValue) throws UnexpectedResultException {
   Object expressionValue = this.expression.execute(frameValue);
   if (super.globalFlagGuard()) {
     return super.doSpecialized(expressionValue);
   }
   transferToInterpreter();
   return executeAndSpecialize0(
       GlobalFlagGuardGenericNode.class,
       frameValue,
       expressionValue,
       "One of guards [globalFlagGuard] failed");
 }
예제 #4
0
 @Override
 public int executeInt(VirtualFrame frameValue) throws UnexpectedResultException {
   int value0Value;
   try {
     value0Value = this.value0.executeInt(frameValue);
   } catch (UnexpectedResultException ex) {
     transferToInterpreter();
     Object value1Value = this.value1.execute(frameValue);
     return executeAndSpecialize0(
         InvocationGuardGenericNode.class,
         frameValue,
         ex.getResult(),
         value1Value,
         "Expected value0Value instanceof int");
   }
   int value1Value;
   try {
     value1Value = this.value1.executeInt(frameValue);
   } catch (UnexpectedResultException ex) {
     transferToInterpreter();
     return executeAndSpecialize0(
         InvocationGuardGenericNode.class,
         frameValue,
         value0Value,
         ex.getResult(),
         "Expected value1Value instanceof int");
   }
   if (super.guard(value0Value, value1Value)) {
     return super.doSpecialized(value0Value, value1Value);
   }
   transferToInterpreter();
   return executeAndSpecialize0(
       InvocationGuardGenericNode.class,
       frameValue,
       value0Value,
       value1Value,
       "One of guards [guard] failed");
 }