Commit 621f9da8 authored by Tao Pan's avatar Tao Pan Committed by Commit Bot

[snapshot] Fix border judgement of PcIsOffHeap()

In the case of using start and size to manage range, the range is start
~ start + size - 1, start + size is out of the range.
The template function IsInRange(T value, U lower_limit, U higher_limit)
judge whether value is in the range lower_limit ~ higher_limit.
IsInRange(pc, start, start + isolate->embedded_blob_size()) misjudge
the case pc == start + isolate->embedded_blob_size()
Signed-off-by: 's avatarTao Pan <tao.pan@intel.com>
Change-Id: Iad172454bacb27a1328bbdda5863d28c9853a6db

Bug: v8:8530
Change-Id: Iad172454bacb27a1328bbdda5863d28c9853a6db
Reviewed-on: https://chromium-review.googlesource.com/c/1355633Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
Commit-Queue: Tao Pan <tao.pan@intel.com>
Cr-Commit-Position: refs/heads/master@{#57955}
parent 30604a00
......@@ -17,7 +17,7 @@ namespace internal {
bool InstructionStream::PcIsOffHeap(Isolate* isolate, Address pc) {
if (FLAG_embedded_builtins) {
const Address start = reinterpret_cast<Address>(isolate->embedded_blob());
return IsInRange(pc, start, start + isolate->embedded_blob_size());
return start <= pc && pc < start + isolate->embedded_blob_size();
} else {
return false;
}
......
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