OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1072 ldp(dst2, dst3, MemOperand(StackPointer(), 2 * size)); | 1072 ldp(dst2, dst3, MemOperand(StackPointer(), 2 * size)); |
1073 ldp(dst0, dst1, MemOperand(StackPointer(), 4 * size, PostIndex)); | 1073 ldp(dst0, dst1, MemOperand(StackPointer(), 4 * size, PostIndex)); |
1074 break; | 1074 break; |
1075 default: | 1075 default: |
1076 UNREACHABLE(); | 1076 UNREACHABLE(); |
1077 } | 1077 } |
1078 } | 1078 } |
1079 | 1079 |
1080 | 1080 |
1081 void MacroAssembler::PrepareForPush(Operand total_size) { | 1081 void MacroAssembler::PrepareForPush(Operand total_size) { |
1082 AssertStackConsistency(); | 1082 // TODO(jbramley): This assertion generates too much code in some debug tests. |
| 1083 // AssertStackConsistency(); |
1083 if (csp.Is(StackPointer())) { | 1084 if (csp.Is(StackPointer())) { |
1084 // If the current stack pointer is csp, then it must be aligned to 16 bytes | 1085 // If the current stack pointer is csp, then it must be aligned to 16 bytes |
1085 // on entry and the total size of the specified registers must also be a | 1086 // on entry and the total size of the specified registers must also be a |
1086 // multiple of 16 bytes. | 1087 // multiple of 16 bytes. |
1087 if (total_size.IsImmediate()) { | 1088 if (total_size.IsImmediate()) { |
1088 ASSERT((total_size.immediate() % 16) == 0); | 1089 ASSERT((total_size.immediate() % 16) == 0); |
1089 } | 1090 } |
1090 | 1091 |
1091 // Don't check access size for non-immediate sizes. It's difficult to do | 1092 // Don't check access size for non-immediate sizes. It's difficult to do |
1092 // well, and it will be caught by hardware (or the simulator) anyway. | 1093 // well, and it will be caught by hardware (or the simulator) anyway. |
(...skipping 3982 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5075 } | 5076 } |
5076 } | 5077 } |
5077 | 5078 |
5078 | 5079 |
5079 #undef __ | 5080 #undef __ |
5080 | 5081 |
5081 | 5082 |
5082 } } // namespace v8::internal | 5083 } } // namespace v8::internal |
5083 | 5084 |
5084 #endif // V8_TARGET_ARCH_A64 | 5085 #endif // V8_TARGET_ARCH_A64 |
OLD | NEW |