| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 933 | 933 |
| 934 | 934 |
| 935 void MacroAssembler::Cvtlsi2sd(XMMRegister dst, const Operand& src) { | 935 void MacroAssembler::Cvtlsi2sd(XMMRegister dst, const Operand& src) { |
| 936 xorps(dst, dst); | 936 xorps(dst, dst); |
| 937 cvtlsi2sd(dst, src); | 937 cvtlsi2sd(dst, src); |
| 938 } | 938 } |
| 939 | 939 |
| 940 | 940 |
| 941 void MacroAssembler::Load(Register dst, const Operand& src, Representation r) { | 941 void MacroAssembler::Load(Register dst, const Operand& src, Representation r) { |
| 942 ASSERT(!r.IsDouble()); | 942 ASSERT(!r.IsDouble()); |
| 943 if (r.IsInteger8()) { | 943 if (r.IsByte()) { |
| 944 movsxbq(dst, src); | |
| 945 } else if (r.IsUInteger8()) { | |
| 946 movzxbl(dst, src); | 944 movzxbl(dst, src); |
| 947 } else if (r.IsInteger16()) { | |
| 948 movsxwq(dst, src); | |
| 949 } else if (r.IsUInteger16()) { | |
| 950 movzxwl(dst, src); | |
| 951 } else if (r.IsInteger32()) { | 945 } else if (r.IsInteger32()) { |
| 952 movl(dst, src); | 946 movl(dst, src); |
| 953 } else { | 947 } else { |
| 954 movq(dst, src); | 948 movq(dst, src); |
| 955 } | 949 } |
| 956 } | 950 } |
| 957 | 951 |
| 958 | 952 |
| 959 void MacroAssembler::Store(const Operand& dst, Register src, Representation r) { | 953 void MacroAssembler::Store(const Operand& dst, Register src, Representation r) { |
| 960 ASSERT(!r.IsDouble()); | 954 ASSERT(!r.IsDouble()); |
| 961 if (r.IsInteger8() || r.IsUInteger8()) { | 955 if (r.IsByte()) { |
| 962 movb(dst, src); | 956 movb(dst, src); |
| 963 } else if (r.IsInteger16() || r.IsUInteger16()) { | |
| 964 movw(dst, src); | |
| 965 } else if (r.IsInteger32()) { | 957 } else if (r.IsInteger32()) { |
| 966 movl(dst, src); | 958 movl(dst, src); |
| 967 } else { | 959 } else { |
| 968 movq(dst, src); | 960 movq(dst, src); |
| 969 } | 961 } |
| 970 } | 962 } |
| 971 | 963 |
| 972 | 964 |
| 973 void MacroAssembler::Set(Register dst, int64_t x) { | 965 void MacroAssembler::Set(Register dst, int64_t x) { |
| 974 if (x == 0) { | 966 if (x == 0) { |
| (...skipping 4026 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5001 j(equal, found); | 4993 j(equal, found); |
| 5002 movq(current, FieldOperand(current, Map::kPrototypeOffset)); | 4994 movq(current, FieldOperand(current, Map::kPrototypeOffset)); |
| 5003 CompareRoot(current, Heap::kNullValueRootIndex); | 4995 CompareRoot(current, Heap::kNullValueRootIndex); |
| 5004 j(not_equal, &loop_again); | 4996 j(not_equal, &loop_again); |
| 5005 } | 4997 } |
| 5006 | 4998 |
| 5007 | 4999 |
| 5008 } } // namespace v8::internal | 5000 } } // namespace v8::internal |
| 5009 | 5001 |
| 5010 #endif // V8_TARGET_ARCH_X64 | 5002 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |