Index: src/code-stubs.cc |
=================================================================== |
--- src/code-stubs.cc (revision 12312) |
+++ src/code-stubs.cc (working copy) |
@@ -172,7 +172,9 @@ |
Isolate* isolate = new_object->GetIsolate(); |
Factory* factory = isolate->factory(); |
return Map::UpdateCodeCache(known_map_, |
- factory->compare_ic_symbol(), |
+ strict() ? |
+ factory->strict_compare_ic_symbol() : |
+ factory->compare_ic_symbol(), |
new_object); |
} |
@@ -183,10 +185,16 @@ |
Code::Flags flags = Code::ComputeFlags( |
static_cast<Code::Kind>(GetCodeKind()), |
UNINITIALIZED); |
+ ASSERT(op_ == Token::EQ || op_ == Token::EQ_STRICT); |
Handle<Object> probe( |
- known_map_->FindInCodeCache(*factory->compare_ic_symbol(), flags)); |
+ known_map_->FindInCodeCache( |
+ strict() ? |
+ *factory->strict_compare_ic_symbol() : |
+ *factory->compare_ic_symbol(), |
+ flags)); |
if (probe->IsCode()) { |
*code_out = Code::cast(*probe); |
+ ASSERT(op_ == (*code_out)->compare_operation() + Token::EQ); |
return true; |
} |
return false; |