| 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 6540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6551 | 6551 |
| 6552 answer = allocator()->Allocate(); | 6552 answer = allocator()->Allocate(); |
| 6553 DeferredInlineSmiOperationReversed* deferred = | 6553 DeferredInlineSmiOperationReversed* deferred = |
| 6554 new DeferredInlineSmiOperationReversed(op, | 6554 new DeferredInlineSmiOperationReversed(op, |
| 6555 answer.reg(), | 6555 answer.reg(), |
| 6556 smi_value, | 6556 smi_value, |
| 6557 right.reg(), | 6557 right.reg(), |
| 6558 overwrite_mode); | 6558 overwrite_mode); |
| 6559 __ movq(answer.reg(), Immediate(int_value)); | 6559 __ movq(answer.reg(), Immediate(int_value)); |
| 6560 __ SmiToInteger32(rcx, rcx); | 6560 __ SmiToInteger32(rcx, rcx); |
| 6561 if (!right.type_info().IsSmi()) { | 6561 if (!right_type_info.IsSmi()) { |
| 6562 Condition is_smi = masm_->CheckSmi(right.reg()); | 6562 Condition is_smi = masm_->CheckSmi(right.reg()); |
| 6563 deferred->Branch(NegateCondition(is_smi)); | 6563 deferred->Branch(NegateCondition(is_smi)); |
| 6564 } else if (FLAG_debug_code) { | 6564 } else if (FLAG_debug_code) { |
| 6565 __ AbortIfNotSmi(right.reg(), | 6565 __ AbortIfNotSmi(right.reg(), |
| 6566 "Static type info claims non-smi is smi in (const SHL smi)."); | 6566 "Static type info claims non-smi is smi in (const SHL smi)."); |
| 6567 } | 6567 } |
| 6568 __ shl_cl(answer.reg()); | 6568 __ shl_cl(answer.reg()); |
| 6569 __ Integer32ToSmi(answer.reg(), answer.reg()); | 6569 __ Integer32ToSmi(answer.reg(), answer.reg()); |
| 6570 | 6570 |
| 6571 deferred->BindExit(); | 6571 deferred->BindExit(); |
| (...skipping 4834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11406 // Call the function from C++. | 11406 // Call the function from C++. |
| 11407 return FUNCTION_CAST<ModuloFunction>(buffer); | 11407 return FUNCTION_CAST<ModuloFunction>(buffer); |
| 11408 } | 11408 } |
| 11409 | 11409 |
| 11410 #endif | 11410 #endif |
| 11411 | 11411 |
| 11412 | 11412 |
| 11413 #undef __ | 11413 #undef __ |
| 11414 | 11414 |
| 11415 } } // namespace v8::internal | 11415 } } // namespace v8::internal |
| OLD | NEW |