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 2341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2352 case EXTERNAL_UNSIGNED_INT_ELEMENTS: | 2352 case EXTERNAL_UNSIGNED_INT_ELEMENTS: |
2353 __ mov(result, operand); | 2353 __ mov(result, operand); |
2354 __ test(result, Operand(result)); | 2354 __ test(result, Operand(result)); |
2355 // TODO(danno): we could be more clever here, perhaps having a special | 2355 // TODO(danno): we could be more clever here, perhaps having a special |
2356 // version of the stub that detects if the overflow case actually | 2356 // version of the stub that detects if the overflow case actually |
2357 // happens, and generate code that returns a double rather than int. | 2357 // happens, and generate code that returns a double rather than int. |
2358 DeoptimizeIf(negative, instr->environment()); | 2358 DeoptimizeIf(negative, instr->environment()); |
2359 break; | 2359 break; |
2360 case EXTERNAL_FLOAT_ELEMENTS: | 2360 case EXTERNAL_FLOAT_ELEMENTS: |
2361 case EXTERNAL_DOUBLE_ELEMENTS: | 2361 case EXTERNAL_DOUBLE_ELEMENTS: |
| 2362 case FAST_SMI_ONLY_ELEMENTS: |
2362 case FAST_ELEMENTS: | 2363 case FAST_ELEMENTS: |
2363 case FAST_DOUBLE_ELEMENTS: | 2364 case FAST_DOUBLE_ELEMENTS: |
2364 case DICTIONARY_ELEMENTS: | 2365 case DICTIONARY_ELEMENTS: |
2365 case NON_STRICT_ARGUMENTS_ELEMENTS: | 2366 case NON_STRICT_ARGUMENTS_ELEMENTS: |
2366 UNREACHABLE(); | 2367 UNREACHABLE(); |
2367 break; | 2368 break; |
2368 } | 2369 } |
2369 } | 2370 } |
2370 } | 2371 } |
2371 | 2372 |
(...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3123 case EXTERNAL_SHORT_ELEMENTS: | 3124 case EXTERNAL_SHORT_ELEMENTS: |
3124 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: | 3125 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
3125 __ mov_w(operand, value); | 3126 __ mov_w(operand, value); |
3126 break; | 3127 break; |
3127 case EXTERNAL_INT_ELEMENTS: | 3128 case EXTERNAL_INT_ELEMENTS: |
3128 case EXTERNAL_UNSIGNED_INT_ELEMENTS: | 3129 case EXTERNAL_UNSIGNED_INT_ELEMENTS: |
3129 __ mov(operand, value); | 3130 __ mov(operand, value); |
3130 break; | 3131 break; |
3131 case EXTERNAL_FLOAT_ELEMENTS: | 3132 case EXTERNAL_FLOAT_ELEMENTS: |
3132 case EXTERNAL_DOUBLE_ELEMENTS: | 3133 case EXTERNAL_DOUBLE_ELEMENTS: |
| 3134 case FAST_SMI_ONLY_ELEMENTS: |
3133 case FAST_ELEMENTS: | 3135 case FAST_ELEMENTS: |
3134 case FAST_DOUBLE_ELEMENTS: | 3136 case FAST_DOUBLE_ELEMENTS: |
3135 case DICTIONARY_ELEMENTS: | 3137 case DICTIONARY_ELEMENTS: |
3136 case NON_STRICT_ARGUMENTS_ELEMENTS: | 3138 case NON_STRICT_ARGUMENTS_ELEMENTS: |
3137 UNREACHABLE(); | 3139 UNREACHABLE(); |
3138 break; | 3140 break; |
3139 } | 3141 } |
3140 } | 3142 } |
3141 } | 3143 } |
3142 | 3144 |
(...skipping 1235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4378 env->deoptimization_index()); | 4380 env->deoptimization_index()); |
4379 __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION, safepoint_generator); | 4381 __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION, safepoint_generator); |
4380 } | 4382 } |
4381 | 4383 |
4382 | 4384 |
4383 #undef __ | 4385 #undef __ |
4384 | 4386 |
4385 } } // namespace v8::internal | 4387 } } // namespace v8::internal |
4386 | 4388 |
4387 #endif // V8_TARGET_ARCH_IA32 | 4389 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |