//interpreteur put fast_invoke_virtual_final not only for 
  //static methods but also for final methods of Object class!
  void check_uncommon_or_static_method(int index JVM_TRAPS) {
    ConstantPool cp = method()->constants();

    if (!cp.tag_at(index).is_resolved_final_uncommon_interface_method()) {
      check_static(index JVM_CHECK);
    }
  }
예제 #2
0
void    check_my_type(t_mar *mar)
{
  int   c;

  c = 0;
  if (mar->str[c] == 'i' || mar->str[c] == 'c' && mar->str[c + 1] == 'h'
      || mar->str[c] == 's' && mar->str[c + 1] == 'h')
    print_basic(mar, c);
  else if (mar->str[c] == 'l')
    check_long(mar, c);
  else if (mar->str[c] == 's' && mar->str[c + 1] == 't'
	   && mar->str[c + 2] == 'a' && mar->str[c + 3] == 't'
	   && mar->str[c + 4] == 'i' && mar->str[c + 5] == 'c'
	   && mar->str[c + 6] == ' ')
    check_static(mar, c);
  else if (mar->str[c] == 'c' && mar->str[c + 1] == 'o'
	   && mar->str[c + 2] == 'n' && mar->str[c + 3] == 's'
	   && mar->str[c + 4] == 't' && mar->str[c + 5] == ' ')
    check_const(mar, c);
  else if (mar->str[c] == 'u' || mar->str[c] == 'v' || mar->str[c] == 'f'
           || mar->str[c] == 'd')
    check_my_type_two(mar, c);
  printf("Déclaration de la variable de type %s%s nommé %s.\n",
         mar->ptr, mar->type, mar->var);
}
예제 #3
0
int main(int argc, char **argv) {
    /* change recurse to 5-10 to see stack faults without page outs */
    int depth = 512;

    if(check_static()) {
        integrity_check_enabled = 1;
    } else {
        Print("Integrity check disabled, since statics are busted.\n");
        integrity_check_enabled = 0;
    }


    Check_Integrity_Or_Die();

    if(argc > 1) {
        depth = atoi(argv[1]);
        Print("Depth is %d\n", depth);
    }
    if(argc > 2) {
        Quiet = 1;
    }

    Recurse(depth);

    Print("Rec %d success\n", depth);

    return 0;
}
 virtual void invoke_static(int index JVM_TRAPS) {
   if (_code == Bytecodes::_invokestatic ||
       _code == Bytecodes::_fast_invokestatic ||
       _code == Bytecodes::_fast_init_invokestatic) {
     check_static(index JVM_CHECK);
   }
   BytecodeClosure::invoke_static(index JVM_CHECK);
 }
예제 #5
0
  //interpreteur put fast_invoke_virtual_final not only for 
  //static methods but also for final methods of Object class!
  void check_uncommon_or_static_method(int index) {
    AllocationDisabler no_allocation_should_happen;
    ConstantPool::Raw cp = method()->constants();

    if (!cp().tag_at(index).is_resolved_final_uncommon_interface_method()) {
      check_static(index);
    }
  }
예제 #6
0
 //invoke_special could invoke <init> methods which are resolved as ResolvedStaticMethod
 void check_virtual_or_static(int index) {
   AllocationDisabler no_allocation_should_happen;
   ConstantPool::Raw cp = method()->constants();
   if (!cp().tag_at(index).is_resolved_static_method()) {
     check_virtual(index);
   } else {
     check_static(index);
   }
 }
예제 #7
0
파일: main.c 프로젝트: tlepeche/Projets
int			main(int ac, char **av)
{
	t_win			*win;
	char			*origin_term;

	catch_signal();
	if (ac > 1)
	{
		win = check_static();
		if ((origin_term = getenv("TERM")) == NULL)
			exit(0);
		if (tgetent(NULL, origin_term) == ERR)
			exit(0);
		if (tcgetattr(0, &(win->ori_term)) == -1)
			exit(0);
		tputs(tgetstr("ti", NULL), 0, &ft_putterm);
		create_list(av, &(win->arg));
		get_list();
	}
	return (0);
}