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

Side by Side Diff: src/a64/macro-assembler-a64.h

Issue 152673002: A64: Implement Peek/PokePair (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « src/a64/full-codegen-a64.cc ('k') | src/a64/macro-assembler-a64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 // If the current stack pointer (according to StackPointer()) is csp, then 532 // If the current stack pointer (according to StackPointer()) is csp, then
533 // csp must be aligned to 16 bytes. 533 // csp must be aligned to 16 bytes.
534 void Poke(const CPURegister& src, const Operand& offset); 534 void Poke(const CPURegister& src, const Operand& offset);
535 535
536 // Peek at a value on the stack, and put it in 'dst'. The offset is in bytes. 536 // Peek at a value on the stack, and put it in 'dst'. The offset is in bytes.
537 // 537 //
538 // If the current stack pointer (according to StackPointer()) is csp, then 538 // If the current stack pointer (according to StackPointer()) is csp, then
539 // csp must be aligned to 16 bytes. 539 // csp must be aligned to 16 bytes.
540 void Peek(const CPURegister& dst, const Operand& offset); 540 void Peek(const CPURegister& dst, const Operand& offset);
541 541
542 // Poke 'src1' and 'src2' onto the stack. The values written will be adjacent
543 // with 'src2' at a higher address than 'src1'. The offset is in bytes.
544 //
545 // If the current stack pointer (according to StackPointer()) is csp, then
546 // csp must be aligned to 16 bytes.
547 void PokePair(const CPURegister& src1, const CPURegister& src2, int offset);
548
549 // Peek at two values on the stack, and put them in 'dst1' and 'dst2'. The
550 // values peeked will be adjacent, with the value in 'dst2' being from a
551 // higher address than 'dst1'. The offset is in bytes.
552 //
553 // If the current stack pointer (according to StackPointer()) is csp, then
554 // csp must be aligned to 16 bytes.
555 void PeekPair(const CPURegister& dst1, const CPURegister& dst2, int offset);
556
542 // Claim or drop stack space without actually accessing memory. 557 // Claim or drop stack space without actually accessing memory.
543 // 558 //
544 // In debug mode, both of these will write invalid data into the claimed or 559 // In debug mode, both of these will write invalid data into the claimed or
545 // dropped space. 560 // dropped space.
546 // 561 //
547 // If the current stack pointer (according to StackPointer()) is csp, then it 562 // If the current stack pointer (according to StackPointer()) is csp, then it
548 // must be aligned to 16 bytes and the size claimed or dropped must be a 563 // must be aligned to 16 bytes and the size claimed or dropped must be a
549 // multiple of 16 bytes. 564 // multiple of 16 bytes.
550 // 565 //
551 // Note that unit_size must be specified in bytes. For variants which take a 566 // Note that unit_size must be specified in bytes. For variants which take a
(...skipping 1563 matching lines...) Expand 10 before | Expand all | Expand 10 after
2115 #error "Unsupported option" 2130 #error "Unsupported option"
2116 #define CODE_COVERAGE_STRINGIFY(x) #x 2131 #define CODE_COVERAGE_STRINGIFY(x) #x
2117 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) 2132 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x)
2118 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 2133 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
2119 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 2134 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
2120 #else 2135 #else
2121 #define ACCESS_MASM(masm) masm-> 2136 #define ACCESS_MASM(masm) masm->
2122 #endif 2137 #endif
2123 2138
2124 #endif // V8_A64_MACRO_ASSEMBLER_A64_H_ 2139 #endif // V8_A64_MACRO_ASSEMBLER_A64_H_
OLDNEW
« no previous file with comments | « src/a64/full-codegen-a64.cc ('k') | src/a64/macro-assembler-a64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698