src/share/vm/shark/sharkCacheDecache.cpp

Print this page
rev 3850 : [mq]: shark.patch

*** 105,119 **** } void SharkDecacher::process_method_slot(Value** value, int offset) { // Decache the method pointer write_value_to_frame( ! SharkType::Method*_type(), *value, offset); - oopmap()->set_oop(slot2reg(offset)); } void SharkDecacher::process_pc_slot(int offset) { // Record the PC builder()->CreateStore( --- 105,118 ---- } void SharkDecacher::process_method_slot(Value** value, int offset) { // Decache the method pointer write_value_to_frame( ! SharkType::Method_type(), *value, offset); } void SharkDecacher::process_pc_slot(int offset) { // Record the PC builder()->CreateStore(
*** 203,213 **** *value = read_value_from_frame(SharkType::oop_type(), offset); } void SharkCacher::process_method_slot(Value** value, int offset) { // Cache the method pointer ! *value = read_value_from_frame(SharkType::Method*_type(), offset); } void SharkFunctionEntryCacher::process_method_slot(Value** value, int offset) { // "Cache" the method pointer *value = method(); --- 202,212 ---- *value = read_value_from_frame(SharkType::oop_type(), offset); } void SharkCacher::process_method_slot(Value** value, int offset) { // Cache the method pointer ! *value = read_value_from_frame(SharkType::Method_type(), offset); } void SharkFunctionEntryCacher::process_method_slot(Value** value, int offset) { // "Cache" the method pointer *value = method();
*** 228,238 **** value->zero_checked()); } } Value* SharkOSREntryCacher::CreateAddressOfOSRBufEntry(int offset, ! const Type* type) { Value *result = builder()->CreateStructGEP(osr_buf(), offset); if (type != SharkType::intptr_type()) result = builder()->CreateBitCast(result, PointerType::getUnqual(type)); return result; } --- 227,237 ---- value->zero_checked()); } } Value* SharkOSREntryCacher::CreateAddressOfOSRBufEntry(int offset, ! Type* type) { Value *result = builder()->CreateStructGEP(osr_buf(), offset); if (type != SharkType::intptr_type()) result = builder()->CreateBitCast(result, PointerType::getUnqual(type)); return result; }
*** 252,265 **** SharkType::to_stackType(value->basic_type()))), value->zero_checked()); } } ! void SharkDecacher::write_value_to_frame(const Type* type, Value* value, int offset) { builder()->CreateStore(value, stack()->slot_addr(offset, type)); } ! Value* SharkCacher::read_value_from_frame(const Type* type, int offset) { return builder()->CreateLoad(stack()->slot_addr(offset, type)); } --- 251,264 ---- SharkType::to_stackType(value->basic_type()))), value->zero_checked()); } } ! void SharkDecacher::write_value_to_frame(Type* type, Value* value, int offset) { builder()->CreateStore(value, stack()->slot_addr(offset, type)); } ! Value* SharkCacher::read_value_from_frame(Type* type, int offset) { return builder()->CreateLoad(stack()->slot_addr(offset, type)); }