| 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 1787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1798 // If length is not zero, "tos_" contains a non-zero value ==> true. | 1798 // If length is not zero, "tos_" contains a non-zero value ==> true. |
| 1799 __ Ret(); | 1799 __ Ret(); |
| 1800 | 1800 |
| 1801 // Return 0 in "tos_" for false. | 1801 // Return 0 in "tos_" for false. |
| 1802 __ bind(&false_result); | 1802 __ bind(&false_result); |
| 1803 __ mov(tos_, zero_reg); | 1803 __ mov(tos_, zero_reg); |
| 1804 __ Ret(); | 1804 __ Ret(); |
| 1805 } | 1805 } |
| 1806 | 1806 |
| 1807 | 1807 |
| 1808 Handle<Code> GetUnaryOpStub(int key, UnaryOpIC::TypeInfo type_info) { | |
| 1809 UnaryOpStub stub(key, type_info); | |
| 1810 return stub.GetCode(); | |
| 1811 } | |
| 1812 | |
| 1813 | |
| 1814 const char* UnaryOpStub::GetName() { | 1808 const char* UnaryOpStub::GetName() { |
| 1815 if (name_ != NULL) return name_; | 1809 if (name_ != NULL) return name_; |
| 1816 const int kMaxNameLength = 100; | 1810 const int kMaxNameLength = 100; |
| 1817 name_ = Isolate::Current()->bootstrapper()->AllocateAutoDeletedArray( | 1811 name_ = Isolate::Current()->bootstrapper()->AllocateAutoDeletedArray( |
| 1818 kMaxNameLength); | 1812 kMaxNameLength); |
| 1819 if (name_ == NULL) return "OOM"; | 1813 if (name_ == NULL) return "OOM"; |
| 1820 const char* op_name = Token::Name(op_); | 1814 const char* op_name = Token::Name(op_); |
| 1821 const char* overwrite_name = NULL; // Make g++ happy. | 1815 const char* overwrite_name = NULL; // Make g++ happy. |
| 1822 switch (mode_) { | 1816 switch (mode_) { |
| 1823 case UNARY_NO_OVERWRITE: overwrite_name = "Alloc"; break; | 1817 case UNARY_NO_OVERWRITE: overwrite_name = "Alloc"; break; |
| (...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2111 break; | 2105 break; |
| 2112 case Token::BIT_NOT: | 2106 case Token::BIT_NOT: |
| 2113 __ InvokeBuiltin(Builtins::BIT_NOT, JUMP_FUNCTION); | 2107 __ InvokeBuiltin(Builtins::BIT_NOT, JUMP_FUNCTION); |
| 2114 break; | 2108 break; |
| 2115 default: | 2109 default: |
| 2116 UNREACHABLE(); | 2110 UNREACHABLE(); |
| 2117 } | 2111 } |
| 2118 } | 2112 } |
| 2119 | 2113 |
| 2120 | 2114 |
| 2121 Handle<Code> GetBinaryOpStub(int key, | |
| 2122 BinaryOpIC::TypeInfo type_info, | |
| 2123 BinaryOpIC::TypeInfo result_type_info) { | |
| 2124 BinaryOpStub stub(key, type_info, result_type_info); | |
| 2125 return stub.GetCode(); | |
| 2126 } | |
| 2127 | |
| 2128 | |
| 2129 void BinaryOpStub::GenerateTypeTransition(MacroAssembler* masm) { | 2115 void BinaryOpStub::GenerateTypeTransition(MacroAssembler* masm) { |
| 2130 Label get_result; | 2116 Label get_result; |
| 2131 | 2117 |
| 2132 __ Push(a1, a0); | 2118 __ Push(a1, a0); |
| 2133 | 2119 |
| 2134 __ li(a2, Operand(Smi::FromInt(MinorKey()))); | 2120 __ li(a2, Operand(Smi::FromInt(MinorKey()))); |
| 2135 __ li(a1, Operand(Smi::FromInt(op_))); | 2121 __ li(a1, Operand(Smi::FromInt(op_))); |
| 2136 __ li(a0, Operand(Smi::FromInt(operands_type_))); | 2122 __ li(a0, Operand(Smi::FromInt(operands_type_))); |
| 2137 __ Push(a2, a1, a0); | 2123 __ Push(a2, a1, a0); |
| 2138 | 2124 |
| (...skipping 4530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6669 __ mov(result, zero_reg); | 6655 __ mov(result, zero_reg); |
| 6670 __ Ret(); | 6656 __ Ret(); |
| 6671 } | 6657 } |
| 6672 | 6658 |
| 6673 | 6659 |
| 6674 #undef __ | 6660 #undef __ |
| 6675 | 6661 |
| 6676 } } // namespace v8::internal | 6662 } } // namespace v8::internal |
| 6677 | 6663 |
| 6678 #endif // V8_TARGET_ARCH_MIPS | 6664 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |