[builtins][masm] Move hot flags to the beginning of IsolateData
... so that the offset fits into the maximum offset for load byte instruction for arm/arm64 (Ldrb) in order to produce smaller code. Update code generation so that the loading of the flag value is combined with the comparison operation where possible. Additionally, this CL moves the Isolate::is_profiling flag to the IsolateData so that it can be loaded directly via roots register which removes one indirection. The fields moved in the IsolateData: - is_marking_flag and is_minor_marking_flag (checked by write barriers) - is_profiling (checked on API callbacks/getter calls) - stack_is_iterable (not super hot, checked during deoptimization). Drive-by: this CL defines the bool fields as uint8_t in order to make the field size expectations clear. Bug: v8:11880 Change-Id: I80c292c6ec919861684152b6062225aa0fda2d3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3856580Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82771}
Showing
Please
register
or
sign in
to comment