Added support for SEA IR.
- Modified makefile to take the existance of SEA_IR_ART
file to mean "switch to sea ir mode".
- Switching SEA IR mode on leads to the new compiler being
fed the fibonacci methods only, if they are used as input.
- Added partial support for the control flow subgraph of
the SEA IR (instruction nodes and region nodes for
conditional and unconditional branches).
Change-Id: I29020b8e2df5a00fde75715c3683cc25038589f4
Conflicts:
src/compiler/driver/compiler_driver.cc
diff --git a/src/runtime.h b/src/runtime.h
index dfcd647..0b893a3 100644
--- a/src/runtime.h
+++ b/src/runtime.h
@@ -108,9 +108,12 @@
void (*hook_abort_)();
std::vector<std::string> properties_;
bool small_mode_;
+
size_t small_mode_method_threshold_;
size_t small_mode_method_dex_size_limit_;
+ bool sea_ir_mode_;
+
private:
ParsedOptions() {}
};
@@ -131,6 +134,14 @@
return is_concurrent_gc_enabled_;
}
+ bool IsSeaIRMode() const {
+ return sea_ir_mode_;
+ }
+
+ void SetSeaIRMode(bool sea_ir_mode) {
+ sea_ir_mode_ = sea_ir_mode;
+ }
+
bool IsSmallMode() const {
return small_mode_;
}
@@ -374,6 +385,8 @@
size_t small_mode_method_threshold_;
size_t small_mode_method_dex_size_limit_;
+ bool sea_ir_mode_;
+
// The host prefix is used during cross compilation. It is removed
// from the start of host paths such as:
// $ANDROID_PRODUCT_OUT/system/framework/boot.oat