Home | History | Annotate | Download | only in heap

Lines Matching refs:rinfo

72   void VisitEmbeddedPointer(RelocInfo* rinfo) {
73 DCHECK(rinfo->rmode() == RelocInfo::EMBEDDED_OBJECT);
74 if (!rinfo->host()->IsWeakObject(rinfo->target_object())) {
75 Object* p = rinfo->target_object();
80 void VisitCell(RelocInfo* rinfo) {
81 Code* code = rinfo->host();
82 DCHECK(rinfo->rmode() == RelocInfo::CELL);
83 if (!code->IsWeakObject(rinfo->target_cell())) {
84 ObjectVisitor::VisitCell(rinfo);
2971 void VisitEmbeddedPointer(RelocInfo* rinfo) {
2972 DCHECK(rinfo->rmode() == RelocInfo::EMBEDDED_OBJECT);
2973 Object* target = rinfo->target_object();
2979 rinfo->set_target_object(target);
2983 void VisitCodeTarget(RelocInfo* rinfo) {
2984 DCHECK(RelocInfo::IsCodeTarget(rinfo->rmode()));
2985 Object* target = Code::GetCodeFromTargetAddress(rinfo->target_address());
2989 rinfo->set_target_address(Code::cast(target)->instruction_start());
2993 void VisitCodeAgeSequence(RelocInfo* rinfo) {
2994 DCHECK(RelocInfo::IsCodeAgeSequence(rinfo->rmode()));
2995 Object* stub = rinfo->code_age_stub();
2998 if (stub != rinfo->code_age_stub()) {
2999 rinfo->set_code_age_stub(Code::cast(stub));
3003 void VisitDebugTarget(RelocInfo* rinfo) {
3004 DCHECK((RelocInfo::IsJSReturn(rinfo->rmode()) &&
3005 rinfo->IsPatchedReturnSequence()) ||
3006 (RelocInfo::IsDebugBreakSlot(rinfo->rmode()) &&
3007 rinfo->IsPatchedDebugBreakSlotSequence()));
3008 Object* target = Code::GetCodeFromTargetAddress(rinfo->call_address());
3010 rinfo->set_call_address(Code::cast(target)->instruction_start());
3233 RelocInfo rinfo(addr, RelocInfo::CODE_TARGET, 0, NULL);
3234 rinfo.Visit(isolate, v);
3247 RelocInfo rinfo(addr, RelocInfo::DEBUG_BREAK_SLOT, 0, NULL);
3248 if (rinfo.IsPatchedDebugBreakSlotSequence()) rinfo.Visit(isolate, v);
3252 RelocInfo rinfo(addr, RelocInfo::JS_RETURN, 0, NULL);
3253 if (rinfo.IsPatchedReturnSequence()) rinfo.Visit(isolate, v);
3257 RelocInfo rinfo(addr, RelocInfo::EMBEDDED_OBJECT, 0, NULL);
3258 rinfo.Visit(isolate, v);
4437 void MarkCompactCollector::RecordRelocSlot(RelocInfo* rinfo, Object* target) {
4439 RelocInfo::Mode rmode = rinfo->rmode();
4441 (rinfo->host() == NULL ||
4442 !ShouldSkipEvacuationSlotRecording(rinfo->host()))) {
4444 if (RelocInfo::IsEmbeddedObject(rmode) && rinfo->IsInConstantPool()) {
4447 reinterpret_cast<Object**>(rinfo->constant_pool_entry_address());
4451 } else if (RelocInfo::IsCodeTarget(rmode) && rinfo->IsInConstantPool()) {
4454 SlotsBuffer::CODE_ENTRY_SLOT, rinfo->constant_pool_entry_address(),
4459 SlotTypeForRMode(rmode), rinfo->pc(), SlotsBuffer::FAIL_ON_OVERFLOW);
4490 RelocInfo rinfo(pc, RelocInfo::CODE_TARGET, 0, host);
4491 RecordRelocSlot(&rinfo, target);