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 3221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3232 STUB, | 3232 STUB, |
3233 BUILTIN, | 3233 BUILTIN, |
3234 LOAD_IC, | 3234 LOAD_IC, |
3235 KEYED_LOAD_IC, | 3235 KEYED_LOAD_IC, |
3236 KEYED_EXTERNAL_ARRAY_LOAD_IC, | 3236 KEYED_EXTERNAL_ARRAY_LOAD_IC, |
3237 CALL_IC, | 3237 CALL_IC, |
3238 KEYED_CALL_IC, | 3238 KEYED_CALL_IC, |
3239 STORE_IC, | 3239 STORE_IC, |
3240 KEYED_STORE_IC, | 3240 KEYED_STORE_IC, |
3241 KEYED_EXTERNAL_ARRAY_STORE_IC, | 3241 KEYED_EXTERNAL_ARRAY_STORE_IC, |
3242 BINARY_OP_IC, | |
3243 TYPE_RECORDING_BINARY_OP_IC, | 3242 TYPE_RECORDING_BINARY_OP_IC, |
3244 COMPARE_IC, | 3243 COMPARE_IC, |
3245 // No more than 16 kinds. The value currently encoded in four bits in | 3244 // No more than 16 kinds. The value currently encoded in four bits in |
3246 // Flags. | 3245 // Flags. |
3247 | 3246 |
3248 // Pseudo-kinds. | 3247 // Pseudo-kinds. |
3249 REGEXP = BUILTIN, | 3248 REGEXP = BUILTIN, |
3250 FIRST_IC_KIND = LOAD_IC, | 3249 FIRST_IC_KIND = LOAD_IC, |
3251 LAST_IC_KIND = COMPARE_IC | 3250 LAST_IC_KIND = COMPARE_IC |
3252 }; | 3251 }; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3301 inline int arguments_count(); // Only valid for call IC stubs. | 3300 inline int arguments_count(); // Only valid for call IC stubs. |
3302 | 3301 |
3303 // Testers for IC stub kinds. | 3302 // Testers for IC stub kinds. |
3304 inline bool is_inline_cache_stub(); | 3303 inline bool is_inline_cache_stub(); |
3305 inline bool is_load_stub() { return kind() == LOAD_IC; } | 3304 inline bool is_load_stub() { return kind() == LOAD_IC; } |
3306 inline bool is_keyed_load_stub() { return kind() == KEYED_LOAD_IC; } | 3305 inline bool is_keyed_load_stub() { return kind() == KEYED_LOAD_IC; } |
3307 inline bool is_store_stub() { return kind() == STORE_IC; } | 3306 inline bool is_store_stub() { return kind() == STORE_IC; } |
3308 inline bool is_keyed_store_stub() { return kind() == KEYED_STORE_IC; } | 3307 inline bool is_keyed_store_stub() { return kind() == KEYED_STORE_IC; } |
3309 inline bool is_call_stub() { return kind() == CALL_IC; } | 3308 inline bool is_call_stub() { return kind() == CALL_IC; } |
3310 inline bool is_keyed_call_stub() { return kind() == KEYED_CALL_IC; } | 3309 inline bool is_keyed_call_stub() { return kind() == KEYED_CALL_IC; } |
3311 inline bool is_binary_op_stub() { return kind() == BINARY_OP_IC; } | |
3312 inline bool is_type_recording_binary_op_stub() { | 3310 inline bool is_type_recording_binary_op_stub() { |
3313 return kind() == TYPE_RECORDING_BINARY_OP_IC; | 3311 return kind() == TYPE_RECORDING_BINARY_OP_IC; |
3314 } | 3312 } |
3315 inline bool is_compare_ic_stub() { return kind() == COMPARE_IC; } | 3313 inline bool is_compare_ic_stub() { return kind() == COMPARE_IC; } |
3316 inline bool is_external_array_load_stub() { | 3314 inline bool is_external_array_load_stub() { |
3317 return kind() == KEYED_EXTERNAL_ARRAY_LOAD_IC; | 3315 return kind() == KEYED_EXTERNAL_ARRAY_LOAD_IC; |
3318 } | 3316 } |
3319 inline bool is_external_array_store_stub() { | 3317 inline bool is_external_array_store_stub() { |
3320 return kind() == KEYED_EXTERNAL_ARRAY_STORE_IC; | 3318 return kind() == KEYED_EXTERNAL_ARRAY_STORE_IC; |
3321 } | 3319 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3359 // receiver is valid for the given call. | 3357 // receiver is valid for the given call. |
3360 inline CheckType check_type(); | 3358 inline CheckType check_type(); |
3361 inline void set_check_type(CheckType value); | 3359 inline void set_check_type(CheckType value); |
3362 | 3360 |
3363 // [external array type]: For kind KEYED_EXTERNAL_ARRAY_LOAD_IC and | 3361 // [external array type]: For kind KEYED_EXTERNAL_ARRAY_LOAD_IC and |
3364 // KEYED_EXTERNAL_ARRAY_STORE_IC, identifies the type of external | 3362 // KEYED_EXTERNAL_ARRAY_STORE_IC, identifies the type of external |
3365 // array that the code stub is specialized for. | 3363 // array that the code stub is specialized for. |
3366 inline ExternalArrayType external_array_type(); | 3364 inline ExternalArrayType external_array_type(); |
3367 inline void set_external_array_type(ExternalArrayType value); | 3365 inline void set_external_array_type(ExternalArrayType value); |
3368 | 3366 |
3369 // [binary op type]: For all BINARY_OP_IC. | |
3370 inline byte binary_op_type(); | |
3371 inline void set_binary_op_type(byte value); | |
3372 | |
3373 // [type-recording binary op type]: For all TYPE_RECORDING_BINARY_OP_IC. | 3367 // [type-recording binary op type]: For all TYPE_RECORDING_BINARY_OP_IC. |
3374 inline byte type_recording_binary_op_type(); | 3368 inline byte type_recording_binary_op_type(); |
3375 inline void set_type_recording_binary_op_type(byte value); | 3369 inline void set_type_recording_binary_op_type(byte value); |
3376 inline byte type_recording_binary_op_result_type(); | 3370 inline byte type_recording_binary_op_result_type(); |
3377 inline void set_type_recording_binary_op_result_type(byte value); | 3371 inline void set_type_recording_binary_op_result_type(byte value); |
3378 | 3372 |
3379 // [compare state]: For kind compare IC stubs, tells what state the | 3373 // [compare state]: For kind compare IC stubs, tells what state the |
3380 // stub is in. | 3374 // stub is in. |
3381 inline byte compare_state(); | 3375 inline byte compare_state(); |
3382 inline void set_compare_state(byte value); | 3376 inline void set_compare_state(byte value); |
(...skipping 3270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6653 } else { | 6647 } else { |
6654 value &= ~(1 << bit_position); | 6648 value &= ~(1 << bit_position); |
6655 } | 6649 } |
6656 return value; | 6650 return value; |
6657 } | 6651 } |
6658 }; | 6652 }; |
6659 | 6653 |
6660 } } // namespace v8::internal | 6654 } } // namespace v8::internal |
6661 | 6655 |
6662 #endif // V8_OBJECTS_H_ | 6656 #endif // V8_OBJECTS_H_ |
OLD | NEW |