OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 3446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3457 // Casting. | 3457 // Casting. |
3458 static inline DeoptimizationOutputData* cast(Object* obj); | 3458 static inline DeoptimizationOutputData* cast(Object* obj); |
3459 | 3459 |
3460 #if defined(OBJECT_PRINT) || defined(ENABLE_DISASSEMBLER) | 3460 #if defined(OBJECT_PRINT) || defined(ENABLE_DISASSEMBLER) |
3461 void DeoptimizationOutputDataPrint(FILE* out); | 3461 void DeoptimizationOutputDataPrint(FILE* out); |
3462 #endif | 3462 #endif |
3463 }; | 3463 }; |
3464 | 3464 |
3465 | 3465 |
3466 class SafepointEntry; | 3466 class SafepointEntry; |
| 3467 class StatsCounter; |
3467 | 3468 |
3468 | 3469 |
3469 // Code describes objects with on-the-fly generated machine code. | 3470 // Code describes objects with on-the-fly generated machine code. |
3470 class Code: public HeapObject { | 3471 class Code: public HeapObject { |
3471 public: | 3472 public: |
3472 // Opaque data type for encapsulating code flags like kind, inline | 3473 // Opaque data type for encapsulating code flags like kind, inline |
3473 // cache state, and arguments count. | 3474 // cache state, and arguments count. |
3474 // FLAGS_MIN_VALUE and FLAGS_MAX_VALUE are specified to ensure that | 3475 // FLAGS_MIN_VALUE and FLAGS_MAX_VALUE are specified to ensure that |
3475 // enumeration type has correct value range (see Issue 830 for more details). | 3476 // enumeration type has correct value range (see Issue 830 for more details). |
3476 enum Flags { | 3477 enum Flags { |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3514 static const char* Kind2String(Kind kind); | 3515 static const char* Kind2String(Kind kind); |
3515 static const char* ICState2String(InlineCacheState state); | 3516 static const char* ICState2String(InlineCacheState state); |
3516 static const char* PropertyType2String(PropertyType type); | 3517 static const char* PropertyType2String(PropertyType type); |
3517 static void PrintExtraICState(FILE* out, Kind kind, ExtraICState extra); | 3518 static void PrintExtraICState(FILE* out, Kind kind, ExtraICState extra); |
3518 inline void Disassemble(const char* name) { | 3519 inline void Disassemble(const char* name) { |
3519 Disassemble(name, stdout); | 3520 Disassemble(name, stdout); |
3520 } | 3521 } |
3521 void Disassemble(const char* name, FILE* out); | 3522 void Disassemble(const char* name, FILE* out); |
3522 #endif // ENABLE_DISASSEMBLER | 3523 #endif // ENABLE_DISASSEMBLER |
3523 | 3524 |
| 3525 // Returns a counter for the kind of code, or NULL if there is none. |
| 3526 StatsCounter* Counter(Isolate* isolate); |
| 3527 |
3524 // [instruction_size]: Size of the native instructions | 3528 // [instruction_size]: Size of the native instructions |
3525 inline int instruction_size(); | 3529 inline int instruction_size(); |
3526 inline void set_instruction_size(int value); | 3530 inline void set_instruction_size(int value); |
3527 | 3531 |
3528 // [relocation_info]: Code relocation information | 3532 // [relocation_info]: Code relocation information |
3529 DECL_ACCESSORS(relocation_info, ByteArray) | 3533 DECL_ACCESSORS(relocation_info, ByteArray) |
3530 void InvalidateRelocation(); | 3534 void InvalidateRelocation(); |
3531 | 3535 |
3532 // [deoptimization_data]: Array containing data for deopt. | 3536 // [deoptimization_data]: Array containing data for deopt. |
3533 DECL_ACCESSORS(deoptimization_data, FixedArray) | 3537 DECL_ACCESSORS(deoptimization_data, FixedArray) |
(...skipping 3598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7132 } else { | 7136 } else { |
7133 value &= ~(1 << bit_position); | 7137 value &= ~(1 << bit_position); |
7134 } | 7138 } |
7135 return value; | 7139 return value; |
7136 } | 7140 } |
7137 }; | 7141 }; |
7138 | 7142 |
7139 } } // namespace v8::internal | 7143 } } // namespace v8::internal |
7140 | 7144 |
7141 #endif // V8_OBJECTS_H_ | 7145 #endif // V8_OBJECTS_H_ |
OLD | NEW |