Commit 8779afc9 authored by mbrandy's avatar mbrandy Committed by Commit bot

PPC: Fix trampoline pool blocking.

Check whether a trampoline pool should be emitted after unblocking.
Otherwise, back-to-back sequences which block the trampoline pool can
cause it to be out of reach.

R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1433343002

Cr-Commit-Position: refs/heads/master@{#31945}
parent 095e6a4f
......@@ -1310,7 +1310,10 @@ class Assembler : public AssemblerBase {
}
void StartBlockTrampolinePool() { trampoline_pool_blocked_nesting_++; }
void EndBlockTrampolinePool() { trampoline_pool_blocked_nesting_--; }
void EndBlockTrampolinePool() {
int count = --trampoline_pool_blocked_nesting_;
if (count == 0) CheckTrampolinePoolQuick();
}
bool is_trampoline_pool_blocked() const {
return trampoline_pool_blocked_nesting_ > 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment