OLD | NEW |
---|---|
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 4527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4538 #undef DECLARE_CODE_AGE_ENUM | 4538 #undef DECLARE_CODE_AGE_ENUM |
4539 | 4539 |
4540 // Code aging | 4540 // Code aging |
4541 static void MakeCodeAgeSequenceYoung(byte* sequence); | 4541 static void MakeCodeAgeSequenceYoung(byte* sequence); |
4542 void MakeOlder(MarkingParity); | 4542 void MakeOlder(MarkingParity); |
4543 static bool IsYoungSequence(byte* sequence); | 4543 static bool IsYoungSequence(byte* sequence); |
4544 bool IsOld(); | 4544 bool IsOld(); |
4545 | 4545 |
4546 void PrintDeoptLocation(int bailout_id); | 4546 void PrintDeoptLocation(int bailout_id); |
4547 | 4547 |
4548 #ifdef VERIFY_HEAP | |
4549 void VerifyEmbeddedMaps(); | |
Michael Starzinger
2013/01/31 14:27:50
Let's call this "VerifyEmbeddedMapsDependency()".
ulan
2013/02/04 09:54:06
Done.
| |
4550 #endif | |
4551 | |
4548 // Max loop nesting marker used to postpose OSR. We don't take loop | 4552 // Max loop nesting marker used to postpose OSR. We don't take loop |
4549 // nesting that is deeper than 5 levels into account. | 4553 // nesting that is deeper than 5 levels into account. |
4550 static const int kMaxLoopNestingMarker = 6; | 4554 static const int kMaxLoopNestingMarker = 6; |
4551 | 4555 |
4552 // Layout description. | 4556 // Layout description. |
4553 static const int kInstructionSizeOffset = HeapObject::kHeaderSize; | 4557 static const int kInstructionSizeOffset = HeapObject::kHeaderSize; |
4554 static const int kRelocationInfoOffset = kInstructionSizeOffset + kIntSize; | 4558 static const int kRelocationInfoOffset = kInstructionSizeOffset + kIntSize; |
4555 static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize; | 4559 static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize; |
4556 static const int kDeoptimizationDataOffset = | 4560 static const int kDeoptimizationDataOffset = |
4557 kHandlerTableOffset + kPointerSize; | 4561 kHandlerTableOffset + kPointerSize; |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4684 public: | 4688 public: |
4685 inline int number_of_codes(); | 4689 inline int number_of_codes(); |
4686 inline void set_number_of_codes(int value); | 4690 inline void set_number_of_codes(int value); |
4687 inline Code* code_at(int i); | 4691 inline Code* code_at(int i); |
4688 inline void set_code_at(int i, Code* value); | 4692 inline void set_code_at(int i, Code* value); |
4689 inline Object** code_slot_at(int i); | 4693 inline Object** code_slot_at(int i); |
4690 inline void clear_code_at(int i); | 4694 inline void clear_code_at(int i); |
4691 static Handle<DependentCodes> Append(Handle<DependentCodes> codes, | 4695 static Handle<DependentCodes> Append(Handle<DependentCodes> codes, |
4692 Handle<Code> value); | 4696 Handle<Code> value); |
4693 static inline DependentCodes* cast(Object* object); | 4697 static inline DependentCodes* cast(Object* object); |
4698 bool Contains(Code* code); | |
4694 private: | 4699 private: |
4695 static const int kNumberOfCodesIndex = 0; | 4700 static const int kNumberOfCodesIndex = 0; |
4696 static const int kCodesIndex = 1; | 4701 static const int kCodesIndex = 1; |
4697 }; | 4702 }; |
4698 | 4703 |
4699 | 4704 |
4700 // All heap objects have a Map that describes their structure. | 4705 // All heap objects have a Map that describes their structure. |
4701 // A Map contains information about: | 4706 // A Map contains information about: |
4702 // - Size information about the object | 4707 // - Size information about the object |
4703 // - How to iterate over an object (for garbage collection) | 4708 // - How to iterate over an object (for garbage collection) |
(...skipping 4174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8878 } else { | 8883 } else { |
8879 value &= ~(1 << bit_position); | 8884 value &= ~(1 << bit_position); |
8880 } | 8885 } |
8881 return value; | 8886 return value; |
8882 } | 8887 } |
8883 }; | 8888 }; |
8884 | 8889 |
8885 } } // namespace v8::internal | 8890 } } // namespace v8::internal |
8886 | 8891 |
8887 #endif // V8_OBJECTS_H_ | 8892 #endif // V8_OBJECTS_H_ |
OLD | NEW |