ART: Introduce stackmap with no DexRegInfo.
Some of safepoints don't need to have DexRegisterMap info;
this will decrease the stackmap size.
.oat file size reduction:
- boot.oat: -233 kb (-5.4%)
- boot-framework.oat: -704 kb (-4.9%)
Test: 461-get-reference-vreg, 466-get-live-vreg.
Test: 543-env-long-ref, 616-cha*.
Test: test-art-target, +gc-stress.
Change-Id: Idbad355770e30a30dcf14127642e03ee666878b8
diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h
index 357c4bb..d932c6a 100644
--- a/compiler/optimizing/code_generator.h
+++ b/compiler/optimizing/code_generator.h
@@ -761,7 +761,10 @@
size_t GetStackOffsetOfSavedRegister(size_t index);
void GenerateSlowPaths();
void BlockIfInRegister(Location location, bool is_out = false) const;
- void EmitEnvironment(HEnvironment* environment, SlowPathCode* slow_path);
+ void EmitEnvironment(HEnvironment* environment,
+ SlowPathCode* slow_path,
+ bool needs_vreg_info = true);
+ void EmitVRegInfo(HEnvironment* environment, SlowPathCode* slow_path);
OptimizingCompilerStats* stats_;