45 #ifdef ENABLE_DEBUGGER_SUPPORT
46 Debug* debug = Isolate::Current()->debug();
49 if (!debug->has_break_points())
return result;
58 return OriginalCodeAddress();
87 if (old_target->
kind() == Code::STORE_IC ||
88 old_target->
kind() == Code::KEYED_STORE_IC) {
95 heap->mark_compact_collector()->RecordCodeTargetPatch(address, target);
97 heap->incremental_marking()->RecordCodeTargetPatch(address, target);
105 if (object->IsJSObject()) {
109 ASSERT(object->IsString() ||
object->IsNumber() ||
object->IsBoolean());
121 if (holder !=
object &&
123 !
object->IsJSGlobalProxy() &&
124 !
object->IsJSGlobalObject()) {
132 Object* map_owner = (holder ==
OWN_MAP ?
object :
object->GetPrototype());
133 ASSERT(map_owner->IsJSObject());
140 #endif // V8_IC_INL_H_
#define ASSERT(condition)
static void PostPatching(Address address, Code *target, Code *old_target)
byte * instruction_start()
static StrictModeFlag GetStrictMode(ExtraICState extra_ic_state)
static Code * GetTargetAtAddress(Address address)
static void set_target_address_at(Address pc, Address target)
static Code * GetCodeFromTargetAddress(Address address)
bool is_inline_cache_stub()
static Address target_address_at(Address pc)
bool is_compare_ic_stub()
ExtraICState extra_ic_state()
static Address target_address_from_return_address(Address pc)
static JSObject * GetCodeCacheHolder(Object *object, InlineCacheHolderFlag holder)
static void SetTargetAtAddress(Address address, Code *target)
static InlineCacheHolderFlag GetCodeCacheForObject(Object *object, JSObject *holder)
static JSObject * cast(Object *obj)