| OLD | NEW | 
|    1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |    1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 
|    2 // All Rights Reserved. |    2 // All Rights Reserved. | 
|    3 // |    3 // | 
|    4 // Redistribution and use in source and binary forms, with or without |    4 // Redistribution and use in source and binary forms, with or without | 
|    5 // modification, are permitted provided that the following conditions |    5 // modification, are permitted provided that the following conditions | 
|    6 // are met: |    6 // are met: | 
|    7 // |    7 // | 
|    8 // - Redistributions of source code must retain the above copyright notice, |    8 // - Redistributions of source code must retain the above copyright notice, | 
|    9 // this list of conditions and the following disclaimer. |    9 // this list of conditions and the following disclaimer. | 
|   10 // |   10 // | 
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  272           && ((next_instr & kBlxRegMask) == kBlxRegPattern); |  272           && ((next_instr & kBlxRegMask) == kBlxRegPattern); | 
|  273 } |  273 } | 
|  274  |  274  | 
|  275  |  275  | 
|  276 bool RelocInfo::IsPatchedDebugBreakSlotSequence() { |  276 bool RelocInfo::IsPatchedDebugBreakSlotSequence() { | 
|  277   Instr current_instr = Assembler::instr_at(pc_); |  277   Instr current_instr = Assembler::instr_at(pc_); | 
|  278   return !Assembler::IsNop(current_instr, Assembler::DEBUG_BREAK_NOP); |  278   return !Assembler::IsNop(current_instr, Assembler::DEBUG_BREAK_NOP); | 
|  279 } |  279 } | 
|  280  |  280  | 
|  281  |  281  | 
|  282 void RelocInfo::Visit(ObjectVisitor* visitor) { |  282 void RelocInfo::Visit(Isolate* isolate, ObjectVisitor* visitor) { | 
|  283   RelocInfo::Mode mode = rmode(); |  283   RelocInfo::Mode mode = rmode(); | 
|  284   if (mode == RelocInfo::EMBEDDED_OBJECT) { |  284   if (mode == RelocInfo::EMBEDDED_OBJECT) { | 
|  285     visitor->VisitEmbeddedPointer(this); |  285     visitor->VisitEmbeddedPointer(this); | 
|  286   } else if (RelocInfo::IsCodeTarget(mode)) { |  286   } else if (RelocInfo::IsCodeTarget(mode)) { | 
|  287     visitor->VisitCodeTarget(this); |  287     visitor->VisitCodeTarget(this); | 
|  288   } else if (mode == RelocInfo::CELL) { |  288   } else if (mode == RelocInfo::CELL) { | 
|  289     visitor->VisitCell(this); |  289     visitor->VisitCell(this); | 
|  290   } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { |  290   } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { | 
|  291     visitor->VisitExternalReference(this); |  291     visitor->VisitExternalReference(this); | 
|  292   } else if (RelocInfo::IsCodeAgeSequence(mode)) { |  292   } else if (RelocInfo::IsCodeAgeSequence(mode)) { | 
|  293     visitor->VisitCodeAgeSequence(this); |  293     visitor->VisitCodeAgeSequence(this); | 
|  294 #ifdef ENABLE_DEBUGGER_SUPPORT |  294 #ifdef ENABLE_DEBUGGER_SUPPORT | 
|  295   // TODO(isolates): Get a cached isolate below. |  | 
|  296   } else if (((RelocInfo::IsJSReturn(mode) && |  295   } else if (((RelocInfo::IsJSReturn(mode) && | 
|  297               IsPatchedReturnSequence()) || |  296               IsPatchedReturnSequence()) || | 
|  298              (RelocInfo::IsDebugBreakSlot(mode) && |  297              (RelocInfo::IsDebugBreakSlot(mode) && | 
|  299               IsPatchedDebugBreakSlotSequence())) && |  298               IsPatchedDebugBreakSlotSequence())) && | 
|  300              Isolate::Current()->debug()->has_break_points()) { |  299              isolate->debug()->has_break_points()) { | 
|  301     visitor->VisitDebugTarget(this); |  300     visitor->VisitDebugTarget(this); | 
|  302 #endif |  301 #endif | 
|  303   } else if (RelocInfo::IsRuntimeEntry(mode)) { |  302   } else if (RelocInfo::IsRuntimeEntry(mode)) { | 
|  304     visitor->VisitRuntimeEntry(this); |  303     visitor->VisitRuntimeEntry(this); | 
|  305   } |  304   } | 
|  306 } |  305 } | 
|  307  |  306  | 
|  308  |  307  | 
|  309 template<typename StaticVisitor> |  308 template<typename StaticVisitor> | 
|  310 void RelocInfo::Visit(Heap* heap) { |  309 void RelocInfo::Visit(Heap* heap) { | 
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  517  |  516  | 
|  518  |  517  | 
|  519 void Assembler::set_target_address_at(Address pc, Address target) { |  518 void Assembler::set_target_address_at(Address pc, Address target) { | 
|  520   set_target_pointer_at(pc, target); |  519   set_target_pointer_at(pc, target); | 
|  521 } |  520 } | 
|  522  |  521  | 
|  523  |  522  | 
|  524 } }  // namespace v8::internal |  523 } }  // namespace v8::internal | 
|  525  |  524  | 
|  526 #endif  // V8_ARM_ASSEMBLER_ARM_INL_H_ |  525 #endif  // V8_ARM_ASSEMBLER_ARM_INL_H_ | 
| OLD | NEW |