| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 10414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10425 } | 10425 } |
| 10426 | 10426 |
| 10427 | 10427 |
| 10428 bool Code::allowed_in_shared_map_code_cache() { | 10428 bool Code::allowed_in_shared_map_code_cache() { |
| 10429 return is_keyed_load_stub() || is_keyed_store_stub() || | 10429 return is_keyed_load_stub() || is_keyed_store_stub() || |
| 10430 (is_compare_ic_stub() && | 10430 (is_compare_ic_stub() && |
| 10431 ICCompareStub::CompareState(stub_info()) == CompareIC::KNOWN_OBJECT); | 10431 ICCompareStub::CompareState(stub_info()) == CompareIC::KNOWN_OBJECT); |
| 10432 } | 10432 } |
| 10433 | 10433 |
| 10434 | 10434 |
| 10435 void Code::MakeCodeAgeSequenceYoung(byte* sequence) { | 10435 void Code::MakeCodeAgeSequenceYoung(byte* sequence, Isolate* isolate) { |
| 10436 PatchPlatformCodeAge(sequence, kNoAge, NO_MARKING_PARITY); | 10436 PatchPlatformCodeAge(isolate, sequence, kNoAge, NO_MARKING_PARITY); |
| 10437 } | 10437 } |
| 10438 | 10438 |
| 10439 | 10439 |
| 10440 void Code::MakeOlder(MarkingParity current_parity) { | 10440 void Code::MakeOlder(MarkingParity current_parity) { |
| 10441 byte* sequence = FindCodeAgeSequence(); | 10441 byte* sequence = FindCodeAgeSequence(); |
| 10442 if (sequence != NULL) { | 10442 if (sequence != NULL) { |
| 10443 Age age; | 10443 Age age; |
| 10444 MarkingParity code_parity; | 10444 MarkingParity code_parity; |
| 10445 GetCodeAgeAndParity(sequence, &age, &code_parity); | 10445 GetCodeAgeAndParity(sequence, &age, &code_parity); |
| 10446 if (age != kLastCodeAge && code_parity != current_parity) { | 10446 if (age != kLastCodeAge && code_parity != current_parity) { |
| 10447 PatchPlatformCodeAge(sequence, static_cast<Age>(age + 1), | 10447 PatchPlatformCodeAge(GetIsolate(), |
| 10448 sequence, |
| 10449 static_cast<Age>(age + 1), |
| 10448 current_parity); | 10450 current_parity); |
| 10449 } | 10451 } |
| 10450 } | 10452 } |
| 10451 } | 10453 } |
| 10452 | 10454 |
| 10453 | 10455 |
| 10454 bool Code::IsOld() { | 10456 bool Code::IsOld() { |
| 10455 byte* sequence = FindCodeAgeSequence(); | 10457 byte* sequence = FindCodeAgeSequence(); |
| 10456 if (sequence == NULL) return false; | 10458 if (sequence == NULL) return false; |
| 10457 Age age; | 10459 Age age; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10500 *age = k##AGE##CodeAge; \ | 10502 *age = k##AGE##CodeAge; \ |
| 10501 *parity = ODD_MARKING_PARITY; \ | 10503 *parity = ODD_MARKING_PARITY; \ |
| 10502 return; \ | 10504 return; \ |
| 10503 } | 10505 } |
| 10504 CODE_AGE_LIST(HANDLE_CODE_AGE) | 10506 CODE_AGE_LIST(HANDLE_CODE_AGE) |
| 10505 #undef HANDLE_CODE_AGE | 10507 #undef HANDLE_CODE_AGE |
| 10506 UNREACHABLE(); | 10508 UNREACHABLE(); |
| 10507 } | 10509 } |
| 10508 | 10510 |
| 10509 | 10511 |
| 10510 Code* Code::GetCodeAgeStub(Age age, MarkingParity parity) { | 10512 Code* Code::GetCodeAgeStub(Isolate* isolate, Age age, MarkingParity parity) { |
| 10511 Isolate* isolate = Isolate::Current(); | |
| 10512 Builtins* builtins = isolate->builtins(); | 10513 Builtins* builtins = isolate->builtins(); |
| 10513 switch (age) { | 10514 switch (age) { |
| 10514 #define HANDLE_CODE_AGE(AGE) \ | 10515 #define HANDLE_CODE_AGE(AGE) \ |
| 10515 case k##AGE##CodeAge: { \ | 10516 case k##AGE##CodeAge: { \ |
| 10516 Code* stub = parity == EVEN_MARKING_PARITY \ | 10517 Code* stub = parity == EVEN_MARKING_PARITY \ |
| 10517 ? *builtins->Make##AGE##CodeYoungAgainEvenMarking() \ | 10518 ? *builtins->Make##AGE##CodeYoungAgainEvenMarking() \ |
| 10518 : *builtins->Make##AGE##CodeYoungAgainOddMarking(); \ | 10519 : *builtins->Make##AGE##CodeYoungAgainOddMarking(); \ |
| 10519 return stub; \ | 10520 return stub; \ |
| 10520 } | 10521 } |
| 10521 CODE_AGE_LIST(HANDLE_CODE_AGE) | 10522 CODE_AGE_LIST(HANDLE_CODE_AGE) |
| (...skipping 5623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16145 #define ERROR_MESSAGES_TEXTS(C, T) T, | 16146 #define ERROR_MESSAGES_TEXTS(C, T) T, |
| 16146 static const char* error_messages_[] = { | 16147 static const char* error_messages_[] = { |
| 16147 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) | 16148 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) |
| 16148 }; | 16149 }; |
| 16149 #undef ERROR_MESSAGES_TEXTS | 16150 #undef ERROR_MESSAGES_TEXTS |
| 16150 return error_messages_[reason]; | 16151 return error_messages_[reason]; |
| 16151 } | 16152 } |
| 16152 | 16153 |
| 16153 | 16154 |
| 16154 } } // namespace v8::internal | 16155 } } // namespace v8::internal |
| OLD | NEW |