[vm/compiler] Generate PC descriptors for deopt points even if not optimizing

To reduce size, PC descriptors corresponding to deoptimization points
were omitted if FLAG_optimization_counter_threshold < 0.

However, even if generation of optimized code is disabled with
'--optimization-counter-threshold=-1' option, we could still load optimized
code from snapshot. The loaded code can trigger deoptimization and
PC descriptors corresponding to deoptimization points could be needed.

This change removes this incorrect optimization of PC descriptors size when
optimizing compiler is disabled.

Fixes https://github.com/dart-lang/sdk/issues/33389

Change-Id: I74b0fab34ca1a46672e5a8d5c45ea9b506eab9b1
Reviewed-on: https://dart-review.googlesource.com/59481
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler.cc b/runtime/vm/compiler/backend/flow_graph_compiler.cc
index 9b611ee..9716e1c 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler.cc
@@ -631,8 +631,8 @@
                                       TokenPosition token_pos,
                                       intptr_t try_index) {
   code_source_map_builder_->NoteDescriptor(kind, pc_offset, token_pos);
-  // When running with optimizations disabled, don't emit deopt-descriptors.
-  if (!CanOptimize() && (kind == RawPcDescriptors::kDeopt)) return;
+  // Don't emit deopt-descriptors in AOT mode.
+  if (FLAG_precompiled_mode && (kind == RawPcDescriptors::kDeopt)) return;
   pc_descriptors_list_->AddDescriptor(kind, pc_offset, deopt_id, token_pos,
                                       try_index);
 }