[vm/bytecode] Ignore source positions not denoting a debug point in debugger.
The CheckStack bytecode does not denote a debug point anymore after the introduction of the DebugCheck bytecode. Fix caller/callee determination in mixed mode. Factorize some code. Change-Id: Ide1e0bbad022a83e6113243dc996396f9f5d2f3c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108565 Commit-Queue: Régis Crelier <regis@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>
This commit is contained in:
committed by
commit-bot@chromium.org
parent
96906936b4
commit
55b67e9eae
@@ -456,10 +456,18 @@ DART_FORCE_INLINE static uword ParamAddress(uword fp, intptr_t reverse_index) {
|
||||
return fp + (kParamEndSlotFromFp * kWordSize) + (reverse_index * kWordSize);
|
||||
}
|
||||
|
||||
// Both fp and other_fp are compiled code frame pointers.
|
||||
// See stack_frame_dbc.h for the DBC version.
|
||||
DART_FORCE_INLINE static bool IsCalleeFrameOf(uword fp, uword other_fp) {
|
||||
return other_fp < fp;
|
||||
}
|
||||
|
||||
// Both fp and other_fp are bytecode frame pointers.
|
||||
DART_FORCE_INLINE static bool IsBytecodeCalleeFrameOf(uword fp,
|
||||
uword other_fp) {
|
||||
return other_fp > fp;
|
||||
}
|
||||
|
||||
// Value for stack limit that is used to cause an interrupt.
|
||||
// Note that on DBC stack is growing upwards so interrupt limit is 0 unlike
|
||||
// on all other architectures.
|
||||
|
||||
Reference in New Issue
Block a user