Chromium Code Reviews| Index: src/objects.cc |
| diff --git a/src/objects.cc b/src/objects.cc |
| index f96fd83849cff3090814484757f26b352932bc87..a514e77211b4921e426266051937baa7b8cf1cea 100644 |
| --- a/src/objects.cc |
| +++ b/src/objects.cc |
| @@ -10650,8 +10650,7 @@ void Code::ClearInlineCaches(Code::Kind kind) { |
| void Code::ClearInlineCaches(Code::Kind* kind) { |
| int mask = RelocInfo::ModeMask(RelocInfo::CODE_TARGET) | |
| RelocInfo::ModeMask(RelocInfo::CONSTRUCT_CALL) | |
| - RelocInfo::ModeMask(RelocInfo::CODE_TARGET_WITH_ID) | |
| - RelocInfo::ModeMask(RelocInfo::CODE_TARGET_CONTEXT); |
| + RelocInfo::ModeMask(RelocInfo::CODE_TARGET_WITH_ID); |
| for (RelocIterator it(this, mask); !it.done(); it.next()) { |
| RelocInfo* info = it.rinfo(); |
| Code* target(Code::GetCodeFromTargetAddress(info->target_address())); |
| @@ -10864,6 +10863,16 @@ bool Code::CanDeoptAt(Address pc) { |
| } |
| +bool Code::IsContextual() { |
| + ASSERT(is_inline_cache_stub()); |
| + if (!needs_extended_extra_ic_state(kind())) { |
|
Toon Verwaest
2013/12/04 23:24:45
I still argue "needs_extended_extra_ic_state" has
mvstanton
2013/12/05 13:08:54
No problem, done.
|
| + ExtraICState extra_state = extra_ic_state(); |
| + return IC::GetContextualMode(extra_state) == CONTEXTUAL; |
| + } |
| + return false; |
| +} |
| + |
| + |
| // Identify kind of code. |
| const char* Code::Kind2String(Kind kind) { |
| switch (kind) { |