| OLD | NEW |
| 1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 28 matching lines...) Expand all Loading... |
| 39 using v8::internal::CodeDesc; | 39 using v8::internal::CodeDesc; |
| 40 using v8::internal::FUNCTION_CAST; | 40 using v8::internal::FUNCTION_CAST; |
| 41 using v8::internal::Immediate; | 41 using v8::internal::Immediate; |
| 42 using v8::internal::Isolate; | 42 using v8::internal::Isolate; |
| 43 using v8::internal::Label; | 43 using v8::internal::Label; |
| 44 using v8::internal::OS; | 44 using v8::internal::OS; |
| 45 using v8::internal::Operand; | 45 using v8::internal::Operand; |
| 46 using v8::internal::byte; | 46 using v8::internal::byte; |
| 47 using v8::internal::greater; | 47 using v8::internal::greater; |
| 48 using v8::internal::less_equal; | 48 using v8::internal::less_equal; |
| 49 using v8::internal::equal; |
| 49 using v8::internal::not_equal; | 50 using v8::internal::not_equal; |
| 50 using v8::internal::r13; | 51 using v8::internal::r13; |
| 51 using v8::internal::r15; | 52 using v8::internal::r15; |
| 52 using v8::internal::r8; | 53 using v8::internal::r8; |
| 53 using v8::internal::r9; | 54 using v8::internal::r9; |
| 54 using v8::internal::rax; | 55 using v8::internal::rax; |
| 55 using v8::internal::rbp; | 56 using v8::internal::rbp; |
| 56 using v8::internal::rcx; | 57 using v8::internal::rcx; |
| 57 using v8::internal::rdi; | 58 using v8::internal::rdi; |
| 58 using v8::internal::rdx; | 59 using v8::internal::rdx; |
| (...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 CHECK(!Operand(rbp, rax, times_1, offset).AddressUsesRegister(rsp)); | 339 CHECK(!Operand(rbp, rax, times_1, offset).AddressUsesRegister(rsp)); |
| 339 | 340 |
| 340 CHECK(Operand(rsp, rbp, times_1, offset).AddressUsesRegister(rsp)); | 341 CHECK(Operand(rsp, rbp, times_1, offset).AddressUsesRegister(rsp)); |
| 341 CHECK(Operand(rsp, rbp, times_1, offset).AddressUsesRegister(rbp)); | 342 CHECK(Operand(rsp, rbp, times_1, offset).AddressUsesRegister(rbp)); |
| 342 CHECK(!Operand(rsp, rbp, times_1, offset).AddressUsesRegister(rax)); | 343 CHECK(!Operand(rsp, rbp, times_1, offset).AddressUsesRegister(rax)); |
| 343 CHECK(!Operand(rsp, rbp, times_1, offset).AddressUsesRegister(r15)); | 344 CHECK(!Operand(rsp, rbp, times_1, offset).AddressUsesRegister(r15)); |
| 344 CHECK(!Operand(rsp, rbp, times_1, offset).AddressUsesRegister(r13)); | 345 CHECK(!Operand(rsp, rbp, times_1, offset).AddressUsesRegister(r13)); |
| 345 } | 346 } |
| 346 } | 347 } |
| 347 | 348 |
| 349 |
| 350 TEST(AssemblerX64LabelChaining) { |
| 351 // Test chaining of label usages within instructions (issue 1644). |
| 352 v8::HandleScope scope; |
| 353 Assembler assm(Isolate::Current(), NULL, 0); |
| 354 |
| 355 Label target; |
| 356 __ j(equal, &target); |
| 357 __ j(not_equal, &target); |
| 358 __ bind(&target); |
| 359 __ nop(); |
| 360 } |
| 361 |
| 348 #undef __ | 362 #undef __ |
| OLD | NEW |