fixed the wrong operator used for encoding an instance variable index into the preamble
This commit is contained in:
		@ -3446,7 +3446,7 @@ static int add_compiled_method (stix_t* stix)
 | 
				
			|||||||
					preamble_index = stix->c->mth.code.ptr[1];
 | 
										preamble_index = stix->c->mth.code.ptr[1];
 | 
				
			||||||
					for (i = 2; i <= STIX_BCODE_LONG_PARAM_SIZE; i++)
 | 
										for (i = 2; i <= STIX_BCODE_LONG_PARAM_SIZE; i++)
 | 
				
			||||||
					{
 | 
										{
 | 
				
			||||||
						preamble_index = (preamble_index << 8) || stix->c->mth.code.ptr[i];
 | 
											preamble_index = (preamble_index << 8) | stix->c->mth.code.ptr[i];
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
				
			|||||||
@ -1293,7 +1293,7 @@ printf ("RETURN RECEIVER AT PREAMBLE\n");
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
						ACTIVE_STACK_POPS (stix, b1); /* pop arguments only */
 | 
											ACTIVE_STACK_POPS (stix, b1); /* pop arguments only */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
printf ("RETURN INSTVAR AT PREAMBLE\n");
 | 
					printf ("RETURN INSTVAR AT PREAMBLE index %d\n", (int)STIX_METHOD_GET_PREAMBLE_INDEX(preamble));
 | 
				
			||||||
						/* replace the receiver by an instance variable of the receiver */
 | 
											/* replace the receiver by an instance variable of the receiver */
 | 
				
			||||||
						rcv = (stix_oop_oop_t)ACTIVE_STACK_GETTOP(stix);
 | 
											rcv = (stix_oop_oop_t)ACTIVE_STACK_GETTOP(stix);
 | 
				
			||||||
						STIX_ASSERT (STIX_OBJ_GET_FLAGS_TYPE(rcv) == STIX_OBJ_TYPE_OOP);
 | 
											STIX_ASSERT (STIX_OBJ_GET_FLAGS_TYPE(rcv) == STIX_OBJ_TYPE_OOP);
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user