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 3281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3292 FUNCTION, | 3292 FUNCTION, |
3293 OPTIMIZED_FUNCTION, | 3293 OPTIMIZED_FUNCTION, |
3294 STUB, | 3294 STUB, |
3295 BUILTIN, | 3295 BUILTIN, |
3296 LOAD_IC, | 3296 LOAD_IC, |
3297 KEYED_LOAD_IC, | 3297 KEYED_LOAD_IC, |
3298 CALL_IC, | 3298 CALL_IC, |
3299 KEYED_CALL_IC, | 3299 KEYED_CALL_IC, |
3300 STORE_IC, | 3300 STORE_IC, |
3301 KEYED_STORE_IC, | 3301 KEYED_STORE_IC, |
3302 TYPE_RECORDING_UNARY_OP_IC, | 3302 UNARY_OP_IC, |
3303 TYPE_RECORDING_BINARY_OP_IC, | 3303 BINARY_OP_IC, |
3304 COMPARE_IC, | 3304 COMPARE_IC, |
3305 // No more than 16 kinds. The value currently encoded in four bits in | 3305 // No more than 16 kinds. The value currently encoded in four bits in |
3306 // Flags. | 3306 // Flags. |
3307 | 3307 |
3308 // Pseudo-kinds. | 3308 // Pseudo-kinds. |
3309 REGEXP = BUILTIN, | 3309 REGEXP = BUILTIN, |
3310 FIRST_IC_KIND = LOAD_IC, | 3310 FIRST_IC_KIND = LOAD_IC, |
3311 LAST_IC_KIND = COMPARE_IC | 3311 LAST_IC_KIND = COMPARE_IC |
3312 }; | 3312 }; |
3313 | 3313 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3367 inline int arguments_count(); // Only valid for call IC stubs. | 3367 inline int arguments_count(); // Only valid for call IC stubs. |
3368 | 3368 |
3369 // Testers for IC stub kinds. | 3369 // Testers for IC stub kinds. |
3370 inline bool is_inline_cache_stub(); | 3370 inline bool is_inline_cache_stub(); |
3371 inline bool is_load_stub() { return kind() == LOAD_IC; } | 3371 inline bool is_load_stub() { return kind() == LOAD_IC; } |
3372 inline bool is_keyed_load_stub() { return kind() == KEYED_LOAD_IC; } | 3372 inline bool is_keyed_load_stub() { return kind() == KEYED_LOAD_IC; } |
3373 inline bool is_store_stub() { return kind() == STORE_IC; } | 3373 inline bool is_store_stub() { return kind() == STORE_IC; } |
3374 inline bool is_keyed_store_stub() { return kind() == KEYED_STORE_IC; } | 3374 inline bool is_keyed_store_stub() { return kind() == KEYED_STORE_IC; } |
3375 inline bool is_call_stub() { return kind() == CALL_IC; } | 3375 inline bool is_call_stub() { return kind() == CALL_IC; } |
3376 inline bool is_keyed_call_stub() { return kind() == KEYED_CALL_IC; } | 3376 inline bool is_keyed_call_stub() { return kind() == KEYED_CALL_IC; } |
3377 inline bool is_type_recording_unary_op_stub() { | 3377 inline bool is_unary_op_stub() { |
3378 return kind() == TYPE_RECORDING_UNARY_OP_IC; | 3378 return kind() == UNARY_OP_IC; |
3379 } | 3379 } |
3380 inline bool is_type_recording_binary_op_stub() { | 3380 inline bool is_binary_op_stub() { |
3381 return kind() == TYPE_RECORDING_BINARY_OP_IC; | 3381 return kind() == BINARY_OP_IC; |
3382 } | 3382 } |
3383 inline bool is_compare_ic_stub() { return kind() == COMPARE_IC; } | 3383 inline bool is_compare_ic_stub() { return kind() == COMPARE_IC; } |
3384 | 3384 |
3385 // [major_key]: For kind STUB or BINARY_OP_IC, the major key. | 3385 // [major_key]: For kind STUB or BINARY_OP_IC, the major key. |
3386 inline int major_key(); | 3386 inline int major_key(); |
3387 inline void set_major_key(int value); | 3387 inline void set_major_key(int value); |
3388 | 3388 |
3389 // [optimizable]: For FUNCTION kind, tells if it is optimizable. | 3389 // [optimizable]: For FUNCTION kind, tells if it is optimizable. |
3390 inline bool optimizable(); | 3390 inline bool optimizable(); |
3391 inline void set_optimizable(bool value); | 3391 inline void set_optimizable(bool value); |
(...skipping 29 matching lines...) Expand all Loading... |
3421 // receiver is valid for the given call. | 3421 // receiver is valid for the given call. |
3422 inline CheckType check_type(); | 3422 inline CheckType check_type(); |
3423 inline void set_check_type(CheckType value); | 3423 inline void set_check_type(CheckType value); |
3424 | 3424 |
3425 // [external array type]: For kind KEYED_EXTERNAL_ARRAY_LOAD_IC and | 3425 // [external array type]: For kind KEYED_EXTERNAL_ARRAY_LOAD_IC and |
3426 // KEYED_EXTERNAL_ARRAY_STORE_IC, identifies the type of external | 3426 // KEYED_EXTERNAL_ARRAY_STORE_IC, identifies the type of external |
3427 // array that the code stub is specialized for. | 3427 // array that the code stub is specialized for. |
3428 inline ExternalArrayType external_array_type(); | 3428 inline ExternalArrayType external_array_type(); |
3429 inline void set_external_array_type(ExternalArrayType value); | 3429 inline void set_external_array_type(ExternalArrayType value); |
3430 | 3430 |
3431 // [type-recording unary op type]: For all TYPE_RECORDING_UNARY_OP_IC. | 3431 // [type-recording unary op type]: For all UNARY_OP_IC. |
3432 inline byte type_recording_unary_op_type(); | 3432 inline byte unary_op_type(); |
3433 inline void set_type_recording_unary_op_type(byte value); | 3433 inline void set_unary_op_type(byte value); |
3434 | 3434 |
3435 // [type-recording binary op type]: For all TYPE_RECORDING_BINARY_OP_IC. | 3435 // [type-recording binary op type]: For all TYPE_RECORDING_BINARY_OP_IC. |
3436 inline byte type_recording_binary_op_type(); | 3436 inline byte binary_op_type(); |
3437 inline void set_type_recording_binary_op_type(byte value); | 3437 inline void set_binary_op_type(byte value); |
3438 inline byte type_recording_binary_op_result_type(); | 3438 inline byte binary_op_result_type(); |
3439 inline void set_type_recording_binary_op_result_type(byte value); | 3439 inline void set_binary_op_result_type(byte value); |
3440 | 3440 |
3441 // [compare state]: For kind compare IC stubs, tells what state the | 3441 // [compare state]: For kind compare IC stubs, tells what state the |
3442 // stub is in. | 3442 // stub is in. |
3443 inline byte compare_state(); | 3443 inline byte compare_state(); |
3444 inline void set_compare_state(byte value); | 3444 inline void set_compare_state(byte value); |
3445 | 3445 |
3446 // Get the safepoint entry for the given pc. | 3446 // Get the safepoint entry for the given pc. |
3447 SafepointEntry GetSafepointEntry(Address pc); | 3447 SafepointEntry GetSafepointEntry(Address pc); |
3448 | 3448 |
3449 // Mark this code object as not having a stack check table. Assumes kind | 3449 // Mark this code object as not having a stack check table. Assumes kind |
(...skipping 3370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6820 } else { | 6820 } else { |
6821 value &= ~(1 << bit_position); | 6821 value &= ~(1 << bit_position); |
6822 } | 6822 } |
6823 return value; | 6823 return value; |
6824 } | 6824 } |
6825 }; | 6825 }; |
6826 | 6826 |
6827 } } // namespace v8::internal | 6827 } } // namespace v8::internal |
6828 | 6828 |
6829 #endif // V8_OBJECTS_H_ | 6829 #endif // V8_OBJECTS_H_ |
OLD | NEW |