mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	refactor move logics out of insns.def
This is a pure refactoring. I see no difference in this change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									22444ae9b1
								
							
						
					
					
						commit
						529af9c821
					
				
					 2 changed files with 13 additions and 12 deletions
				
			
		
							
								
								
									
										14
									
								
								insns.def
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								insns.def
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -730,12 +730,7 @@ opt_str_freeze
 | 
			
		|||
()
 | 
			
		||||
(VALUE val)
 | 
			
		||||
{
 | 
			
		||||
    if (BASIC_OP_UNREDEFINED_P(BOP_FREEZE, STRING_REDEFINED_OP_FLAG)) {
 | 
			
		||||
	val = str;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
	val = rb_funcall(rb_str_resurrect(str), idFreeze, 0);
 | 
			
		||||
    }
 | 
			
		||||
    val = vm_opt_str_freeze(str, BOP_FREEZE, idFreeze);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
DEFINE_INSN
 | 
			
		||||
| 
						 | 
				
			
			@ -744,12 +739,7 @@ opt_str_uminus
 | 
			
		|||
()
 | 
			
		||||
(VALUE val)
 | 
			
		||||
{
 | 
			
		||||
    if (BASIC_OP_UNREDEFINED_P(BOP_UMINUS, STRING_REDEFINED_OP_FLAG)) {
 | 
			
		||||
	val = str;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
	val = rb_funcall(rb_str_resurrect(str), idUMinus, 0);
 | 
			
		||||
    }
 | 
			
		||||
    val = vm_opt_str_freeze(str, BOP_UMINUS, idUMinus);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
DEFINE_INSN
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3213,6 +3213,17 @@ vm_find_or_create_class_by_id(ID id,
 | 
			
		|||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static VALUE
 | 
			
		||||
vm_opt_str_freeze(VALUE str, int bop, ID id)
 | 
			
		||||
{
 | 
			
		||||
    if (BASIC_OP_UNREDEFINED_P(bop, STRING_REDEFINED_OP_FLAG)) {
 | 
			
		||||
	return str;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
	return rb_funcall(rb_str_resurrect(str), id, 0);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* this macro is mandatory to use OPTIMIZED_CMP. What a design! */
 | 
			
		||||
#define id_cmp idCmp
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue