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 10265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10276 | 10276 |
10277 | 10277 |
10278 void Code::ClearTypeFeedbackCells(Heap* heap) { | 10278 void Code::ClearTypeFeedbackCells(Heap* heap) { |
10279 if (kind() != FUNCTION) return; | 10279 if (kind() != FUNCTION) return; |
10280 Object* raw_info = type_feedback_info(); | 10280 Object* raw_info = type_feedback_info(); |
10281 if (raw_info->IsTypeFeedbackInfo()) { | 10281 if (raw_info->IsTypeFeedbackInfo()) { |
10282 TypeFeedbackCells* type_feedback_cells = | 10282 TypeFeedbackCells* type_feedback_cells = |
10283 TypeFeedbackInfo::cast(raw_info)->type_feedback_cells(); | 10283 TypeFeedbackInfo::cast(raw_info)->type_feedback_cells(); |
10284 for (int i = 0; i < type_feedback_cells->CellCount(); i++) { | 10284 for (int i = 0; i < type_feedback_cells->CellCount(); i++) { |
10285 JSGlobalPropertyCell* cell = type_feedback_cells->Cell(i); | 10285 JSGlobalPropertyCell* cell = type_feedback_cells->Cell(i); |
10286 cell->set_value(TypeFeedbackCells::RawUninitializedSentinel(heap)); | 10286 if (!cell->value()->IsSmi()) { |
| 10287 cell->set_value(TypeFeedbackCells::RawUninitializedSentinel(heap)); |
| 10288 } |
10287 } | 10289 } |
10288 } | 10290 } |
10289 } | 10291 } |
10290 | 10292 |
10291 | 10293 |
10292 bool Code::allowed_in_shared_map_code_cache() { | 10294 bool Code::allowed_in_shared_map_code_cache() { |
10293 return is_keyed_load_stub() || is_keyed_store_stub() || | 10295 return is_keyed_load_stub() || is_keyed_store_stub() || |
10294 (is_compare_ic_stub() && | 10296 (is_compare_ic_stub() && |
10295 ICCompareStub::CompareState(stub_info()) == CompareIC::KNOWN_OBJECT); | 10297 ICCompareStub::CompareState(stub_info()) == CompareIC::KNOWN_OBJECT); |
10296 } | 10298 } |
(...skipping 5341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15638 set_year(Smi::FromInt(year), SKIP_WRITE_BARRIER); | 15640 set_year(Smi::FromInt(year), SKIP_WRITE_BARRIER); |
15639 set_month(Smi::FromInt(month), SKIP_WRITE_BARRIER); | 15641 set_month(Smi::FromInt(month), SKIP_WRITE_BARRIER); |
15640 set_day(Smi::FromInt(day), SKIP_WRITE_BARRIER); | 15642 set_day(Smi::FromInt(day), SKIP_WRITE_BARRIER); |
15641 set_weekday(Smi::FromInt(weekday), SKIP_WRITE_BARRIER); | 15643 set_weekday(Smi::FromInt(weekday), SKIP_WRITE_BARRIER); |
15642 set_hour(Smi::FromInt(hour), SKIP_WRITE_BARRIER); | 15644 set_hour(Smi::FromInt(hour), SKIP_WRITE_BARRIER); |
15643 set_min(Smi::FromInt(min), SKIP_WRITE_BARRIER); | 15645 set_min(Smi::FromInt(min), SKIP_WRITE_BARRIER); |
15644 set_sec(Smi::FromInt(sec), SKIP_WRITE_BARRIER); | 15646 set_sec(Smi::FromInt(sec), SKIP_WRITE_BARRIER); |
15645 } | 15647 } |
15646 | 15648 |
15647 } } // namespace v8::internal | 15649 } } // namespace v8::internal |
OLD | NEW |