| Index: src/code-stubs.cc
|
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
|
| index 7d4dda23c2b4f203f83ab677ee0950d40308279d..ce3e31c718a400b0e05dd68828032502c9412586 100644
|
| --- a/src/code-stubs.cc
|
| +++ b/src/code-stubs.cc
|
| @@ -103,6 +103,7 @@ Handle<Code> CodeStub::GetCode() {
|
| GetICState());
|
| Handle<Code> new_object = FACTORY->NewCode(desc, flags, masm.CodeObject());
|
| RecordCodeGeneration(*new_object, &masm);
|
| + FinishCode(*new_object);
|
|
|
| // Update the dictionary and the root in Heap.
|
| Handle<NumberDictionary> dict =
|
| @@ -142,6 +143,7 @@ MaybeObject* CodeStub::TryGetCode() {
|
| }
|
| code = Code::cast(new_object);
|
| RecordCodeGeneration(code, &masm);
|
| + FinishCode(code);
|
|
|
| // Try to update the code cache but do not fail if unable.
|
| MaybeObject* maybe_new_object =
|
| @@ -170,4 +172,29 @@ const char* CodeStub::MajorName(CodeStub::Major major_key,
|
| }
|
|
|
|
|
| +int ICCompareStub::MinorKey() {
|
| + return OpField::encode(op_ - Token::EQ) | StateField::encode(state_);
|
| +}
|
| +
|
| +
|
| +void ICCompareStub::Generate(MacroAssembler* masm) {
|
| + switch (state_) {
|
| + case CompareIC::UNINITIALIZED:
|
| + GenerateMiss(masm);
|
| + break;
|
| + case CompareIC::SMIS:
|
| + GenerateSmis(masm);
|
| + break;
|
| + case CompareIC::HEAP_NUMBERS:
|
| + GenerateHeapNumbers(masm);
|
| + break;
|
| + case CompareIC::OBJECTS:
|
| + GenerateObjects(masm);
|
| + break;
|
| + default:
|
| + UNREACHABLE();
|
| + }
|
| +}
|
| +
|
| +
|
| } } // namespace v8::internal
|
|
|