| 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 2075 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2086 void TypeRecordingBinaryOpStub::GenerateGeneric(MacroAssembler* masm) { | 2086 void TypeRecordingBinaryOpStub::GenerateGeneric(MacroAssembler* masm) { |
| 2087 Label call_runtime; | 2087 Label call_runtime; |
| 2088 | 2088 |
| 2089 __ IncrementCounter(&Counters::generic_binary_stub_calls, 1); | 2089 __ IncrementCounter(&Counters::generic_binary_stub_calls, 1); |
| 2090 | 2090 |
| 2091 switch (op_) { | 2091 switch (op_) { |
| 2092 case Token::ADD: | 2092 case Token::ADD: |
| 2093 case Token::SUB: | 2093 case Token::SUB: |
| 2094 case Token::MUL: | 2094 case Token::MUL: |
| 2095 case Token::DIV: | 2095 case Token::DIV: |
| 2096 case Token::MOD: |
| 2096 break; | 2097 break; |
| 2097 case Token::MOD: | |
| 2098 case Token::BIT_OR: | 2098 case Token::BIT_OR: |
| 2099 case Token::BIT_AND: | 2099 case Token::BIT_AND: |
| 2100 case Token::BIT_XOR: | 2100 case Token::BIT_XOR: |
| 2101 case Token::SAR: | 2101 case Token::SAR: |
| 2102 case Token::SHL: | 2102 case Token::SHL: |
| 2103 case Token::SHR: | 2103 case Token::SHR: |
| 2104 GenerateRegisterArgsPush(masm); | 2104 GenerateRegisterArgsPush(masm); |
| 2105 break; | 2105 break; |
| 2106 default: | 2106 default: |
| 2107 UNREACHABLE(); | 2107 UNREACHABLE(); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2153 } | 2153 } |
| 2154 __ bind(¬_floats); | 2154 __ bind(¬_floats); |
| 2155 break; | 2155 break; |
| 2156 } | 2156 } |
| 2157 case Token::MOD: { | 2157 case Token::MOD: { |
| 2158 // For MOD we go directly to runtime in the non-smi case. | 2158 // For MOD we go directly to runtime in the non-smi case. |
| 2159 break; | 2159 break; |
| 2160 } | 2160 } |
| 2161 case Token::BIT_OR: | 2161 case Token::BIT_OR: |
| 2162 case Token::BIT_AND: | 2162 case Token::BIT_AND: |
| 2163 case Token::BIT_XOR: | 2163 case Token::BIT_XOR: |
| 2164 case Token::SAR: | 2164 case Token::SAR: |
| 2165 case Token::SHL: | 2165 case Token::SHL: |
| 2166 case Token::SHR: { | 2166 case Token::SHR: { |
| 2167 Label non_smi_result; | 2167 Label non_smi_result; |
| 2168 FloatingPointHelper::LoadUnknownsAsIntegers(masm, | 2168 FloatingPointHelper::LoadUnknownsAsIntegers(masm, |
| 2169 use_sse3_, | 2169 use_sse3_, |
| 2170 &call_runtime); | 2170 &call_runtime); |
| 2171 switch (op_) { | 2171 switch (op_) { |
| 2172 case Token::BIT_OR: __ or_(eax, Operand(ecx)); break; | 2172 case Token::BIT_OR: __ or_(eax, Operand(ecx)); break; |
| 2173 case Token::BIT_AND: __ and_(eax, Operand(ecx)); break; | 2173 case Token::BIT_AND: __ and_(eax, Operand(ecx)); break; |
| (...skipping 4237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6411 // Do a tail call to the rewritten stub. | 6411 // Do a tail call to the rewritten stub. |
| 6412 __ jmp(Operand(edi)); | 6412 __ jmp(Operand(edi)); |
| 6413 } | 6413 } |
| 6414 | 6414 |
| 6415 | 6415 |
| 6416 #undef __ | 6416 #undef __ |
| 6417 | 6417 |
| 6418 } } // namespace v8::internal | 6418 } } // namespace v8::internal |
| 6419 | 6419 |
| 6420 #endif // V8_TARGET_ARCH_IA32 | 6420 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |