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 |