Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: src/x64/assembler-x64.cc

Issue 555049: Ported SubStringStub to X64. (Closed)
Patch Set: Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1519 matching lines...) Expand 10 before | Expand all | Expand 10 after
1530 void Assembler::movzxwl(Register dst, const Operand& src) { 1530 void Assembler::movzxwl(Register dst, const Operand& src) {
1531 EnsureSpace ensure_space(this); 1531 EnsureSpace ensure_space(this);
1532 last_pc_ = pc_; 1532 last_pc_ = pc_;
1533 emit_optional_rex_32(dst, src); 1533 emit_optional_rex_32(dst, src);
1534 emit(0x0F); 1534 emit(0x0F);
1535 emit(0xB7); 1535 emit(0xB7);
1536 emit_operand(dst, src); 1536 emit_operand(dst, src);
1537 } 1537 }
1538 1538
1539 1539
1540 void Assembler::repmovsb() {
1541 EnsureSpace ensure_space(this);
1542 last_pc_ = pc_;
1543 emit(0xF3);
1544 emit(0xA4);
1545 }
1546
1547
1548 void Assembler::repmovsw() {
1549 EnsureSpace ensure_space(this);
1550 last_pc_ = pc_;
1551 emit(0x66); // Operand size override.
1552 emit(0xF3);
1553 emit(0xA4);
1554 }
1555
1556
1557 void Assembler::repmovsl() {
1558 EnsureSpace ensure_space(this);
1559 last_pc_ = pc_;
1560 emit(0xF3);
1561 emit(0xA5);
1562 }
1563
1564
1565 void Assembler::repmovsq() {
1566 EnsureSpace ensure_space(this);
1567 last_pc_ = pc_;
1568 emit(0xF3);
1569 emit_rex_64();
1570 emit(0xA5);
1571 }
1572
1573
1540 void Assembler::mul(Register src) { 1574 void Assembler::mul(Register src) {
1541 EnsureSpace ensure_space(this); 1575 EnsureSpace ensure_space(this);
1542 last_pc_ = pc_; 1576 last_pc_ = pc_;
1543 emit_rex_64(src); 1577 emit_rex_64(src);
1544 emit(0xF7); 1578 emit(0xF7);
1545 emit_modrm(0x4, src); 1579 emit_modrm(0x4, src);
1546 } 1580 }
1547 1581
1548 1582
1549 void Assembler::neg(Register dst) { 1583 void Assembler::neg(Register dst) {
(...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after
2544 written_position_ = current_position_; 2578 written_position_ = current_position_;
2545 } 2579 }
2546 } 2580 }
2547 2581
2548 2582
2549 const int RelocInfo::kApplyMask = RelocInfo::kCodeTargetMask | 2583 const int RelocInfo::kApplyMask = RelocInfo::kCodeTargetMask |
2550 1 << RelocInfo::INTERNAL_REFERENCE | 2584 1 << RelocInfo::INTERNAL_REFERENCE |
2551 1 << RelocInfo::JS_RETURN; 2585 1 << RelocInfo::JS_RETURN;
2552 2586
2553 } } // namespace v8::internal 2587 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/x64/assembler-x64.h ('k') | src/x64/codegen-x64.h » ('j') | src/x64/codegen-x64.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698