ARM64: Fix EnsureSpace to not emit pools.
The EnsureSpace scope must not trigger any code emission, so it should only grow the buffer, and not check for pools. R=ulan@chromium.org Review URL: https://codereview.chromium.org/230223005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
0182a0f16a
commit
b0938269dc
@ -1199,11 +1199,16 @@ void Assembler::LoadRelocated(const CPURegister& rt, const Operand& operand) {
|
||||
}
|
||||
|
||||
|
||||
inline void Assembler::CheckBuffer() {
|
||||
inline void Assembler::CheckBufferSpace() {
|
||||
ASSERT(pc_ < (buffer_ + buffer_size_));
|
||||
if (buffer_space() < kGap) {
|
||||
GrowBuffer();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
inline void Assembler::CheckBuffer() {
|
||||
CheckBufferSpace();
|
||||
if (pc_offset() >= next_veneer_pool_check_) {
|
||||
CheckVeneerPool(false, true);
|
||||
}
|
||||
|
@ -2040,6 +2040,7 @@ class Assembler : public AssemblerBase {
|
||||
}
|
||||
|
||||
void GrowBuffer();
|
||||
void CheckBufferSpace();
|
||||
void CheckBuffer();
|
||||
|
||||
// Pc offset of the next constant pool check.
|
||||
@ -2238,7 +2239,7 @@ class PatchingAssembler : public Assembler {
|
||||
class EnsureSpace BASE_EMBEDDED {
|
||||
public:
|
||||
explicit EnsureSpace(Assembler* assembler) {
|
||||
assembler->CheckBuffer();
|
||||
assembler->CheckBufferSpace();
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user