OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 3103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3114 | 3114 |
3115 // Casting. | 3115 // Casting. |
3116 static inline DeoptimizationOutputData* cast(Object* obj); | 3116 static inline DeoptimizationOutputData* cast(Object* obj); |
3117 | 3117 |
3118 #ifdef OBJECT_PRINT | 3118 #ifdef OBJECT_PRINT |
3119 void DeoptimizationOutputDataPrint(FILE* out); | 3119 void DeoptimizationOutputDataPrint(FILE* out); |
3120 #endif | 3120 #endif |
3121 }; | 3121 }; |
3122 | 3122 |
3123 | 3123 |
| 3124 class SafepointEntry; |
| 3125 |
| 3126 |
3124 // Code describes objects with on-the-fly generated machine code. | 3127 // Code describes objects with on-the-fly generated machine code. |
3125 class Code: public HeapObject { | 3128 class Code: public HeapObject { |
3126 public: | 3129 public: |
3127 // Opaque data type for encapsulating code flags like kind, inline | 3130 // Opaque data type for encapsulating code flags like kind, inline |
3128 // cache state, and arguments count. | 3131 // cache state, and arguments count. |
3129 // FLAGS_MIN_VALUE and FLAGS_MAX_VALUE are specified to ensure that | 3132 // FLAGS_MIN_VALUE and FLAGS_MAX_VALUE are specified to ensure that |
3130 // enumeration type has correct value range (see Issue 830 for more details). | 3133 // enumeration type has correct value range (see Issue 830 for more details). |
3131 enum Flags { | 3134 enum Flags { |
3132 FLAGS_MIN_VALUE = kMinInt, | 3135 FLAGS_MIN_VALUE = kMinInt, |
3133 FLAGS_MAX_VALUE = kMaxInt | 3136 FLAGS_MAX_VALUE = kMaxInt |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3261 inline byte type_recording_binary_op_type(); | 3264 inline byte type_recording_binary_op_type(); |
3262 inline void set_type_recording_binary_op_type(byte value); | 3265 inline void set_type_recording_binary_op_type(byte value); |
3263 inline byte type_recording_binary_op_result_type(); | 3266 inline byte type_recording_binary_op_result_type(); |
3264 inline void set_type_recording_binary_op_result_type(byte value); | 3267 inline void set_type_recording_binary_op_result_type(byte value); |
3265 | 3268 |
3266 // [compare state]: For kind compare IC stubs, tells what state the | 3269 // [compare state]: For kind compare IC stubs, tells what state the |
3267 // stub is in. | 3270 // stub is in. |
3268 inline byte compare_state(); | 3271 inline byte compare_state(); |
3269 inline void set_compare_state(byte value); | 3272 inline void set_compare_state(byte value); |
3270 | 3273 |
3271 // Get the safepoint entry for the given pc. Returns NULL for | 3274 // Get the safepoint entry for the given pc. |
3272 // non-safepoint pcs. | 3275 SafepointEntry GetSafepointEntry(Address pc); |
3273 uint8_t* GetSafepointEntry(Address pc); | |
3274 | 3276 |
3275 // Mark this code object as not having a stack check table. Assumes kind | 3277 // Mark this code object as not having a stack check table. Assumes kind |
3276 // is FUNCTION. | 3278 // is FUNCTION. |
3277 void SetNoStackCheckTable(); | 3279 void SetNoStackCheckTable(); |
3278 | 3280 |
3279 // Find the first map in an IC stub. | 3281 // Find the first map in an IC stub. |
3280 Map* FindFirstMap(); | 3282 Map* FindFirstMap(); |
3281 | 3283 |
3282 // Flags operations. | 3284 // Flags operations. |
3283 static inline Flags ComputeFlags(Kind kind, | 3285 static inline Flags ComputeFlags(Kind kind, |
(...skipping 3107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6391 } else { | 6393 } else { |
6392 value &= ~(1 << bit_position); | 6394 value &= ~(1 << bit_position); |
6393 } | 6395 } |
6394 return value; | 6396 return value; |
6395 } | 6397 } |
6396 }; | 6398 }; |
6397 | 6399 |
6398 } } // namespace v8::internal | 6400 } } // namespace v8::internal |
6399 | 6401 |
6400 #endif // V8_OBJECTS_H_ | 6402 #endif // V8_OBJECTS_H_ |
OLD | NEW |