summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.h
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2016-11-14 12:40:52 +0000
committerNicolas Geoffray <ngeoffray@google.com>2016-11-14 12:40:52 +0000
commit3395fbc20bcd20948bec8958db91b304c17cacd8 (patch)
treee0d00b412961e2aaa0dff91317a9f4168189e5fb /compiler/optimizing/code_generator.h
parent75afcdd3503a8a8518e5b23d21b6e73306ce39ce (diff)
Revert "Revert "Revert "JIT root tables."""
libcore failures: dalvikvm32 F 11-14 03:04:06 14870 14870 jit_code_cache.cc:310] Check failed: new_string != nullptr This reverts commit 75afcdd3503a8a8518e5b23d21b6e73306ce39ce. Change-Id: I5a6b6b48aa79a763d1ff1ba4d85d63811254787d
Diffstat (limited to 'compiler/optimizing/code_generator.h')
-rw-r--r--compiler/optimizing/code_generator.h45
1 files changed, 0 insertions, 45 deletions
diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h
index a5d19abe92..bf246ad309 100644
--- a/compiler/optimizing/code_generator.h
+++ b/compiler/optimizing/code_generator.h
@@ -32,7 +32,6 @@
#include "optimizing_compiler_stats.h"
#include "read_barrier_option.h"
#include "stack_map_stream.h"
-#include "string_reference.h"
#include "utils/label.h"
namespace art {
@@ -336,17 +335,6 @@ class CodeGenerator : public DeletableArenaObject<kArenaAllocCodeGenerator> {
void BuildStackMaps(MemoryRegion region, const DexFile::CodeItem& code_item);
size_t ComputeStackMapsSize();
- size_t GetNumberOfJitRoots() const {
- return jit_string_roots_.size();
- }
-
- // Fills the `literals` array with literals collected during code generation.
- // Also emits literal patches.
- void EmitJitRoots(uint8_t* code,
- Handle<mirror::ObjectArray<mirror::Object>> roots,
- const uint8_t* roots_data,
- Handle<mirror::DexCache> outer_dex_cache)
- REQUIRES_SHARED(Locks::mutator_lock_);
bool IsLeafMethod() const {
return is_leaf_;
@@ -527,26 +515,6 @@ class CodeGenerator : public DeletableArenaObject<kArenaAllocCodeGenerator> {
virtual HLoadClass::LoadKind GetSupportedLoadClassKind(
HLoadClass::LoadKind desired_class_load_kind) = 0;
- static LocationSummary::CallKind GetLoadStringCallKind(HLoadString* load) {
- switch (load->GetLoadKind()) {
- case HLoadString::LoadKind::kBssEntry:
- DCHECK(load->NeedsEnvironment());
- return LocationSummary::kCallOnSlowPath;
- case HLoadString::LoadKind::kDexCacheViaMethod:
- DCHECK(load->NeedsEnvironment());
- return LocationSummary::kCallOnMainOnly;
- case HLoadString::LoadKind::kJitTableAddress:
- DCHECK(!load->NeedsEnvironment());
- return kEmitCompilerReadBarrier
- ? LocationSummary::kCallOnSlowPath
- : LocationSummary::kNoCall;
- break;
- default:
- DCHECK(!load->NeedsEnvironment());
- return LocationSummary::kNoCall;
- }
- }
-
// Check if the desired_dispatch_info is supported. If it is, return it,
// otherwise return a fall-back info that should be used instead.
virtual HInvokeStaticOrDirect::DispatchInfo GetSupportedInvokeStaticOrDirectDispatch(
@@ -603,8 +571,6 @@ class CodeGenerator : public DeletableArenaObject<kArenaAllocCodeGenerator> {
fpu_callee_save_mask_(fpu_callee_save_mask),
stack_map_stream_(graph->GetArena()),
block_order_(nullptr),
- jit_string_roots_(StringReferenceValueComparator(),
- graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
disasm_info_(nullptr),
stats_(stats),
graph_(graph),
@@ -671,12 +637,6 @@ class CodeGenerator : public DeletableArenaObject<kArenaAllocCodeGenerator> {
return current_slow_path_;
}
- // Emit the patches assocatied with JIT roots. Only applies to JIT compiled code.
- virtual void EmitJitRootPatches(uint8_t* code ATTRIBUTE_UNUSED,
- const uint8_t* roots_data ATTRIBUTE_UNUSED) {
- DCHECK_EQ(jit_string_roots_.size(), 0u);
- }
-
// Frame size required for this method.
uint32_t frame_size_;
uint32_t core_spill_mask_;
@@ -702,11 +662,6 @@ class CodeGenerator : public DeletableArenaObject<kArenaAllocCodeGenerator> {
// The order to use for code generation.
const ArenaVector<HBasicBlock*>* block_order_;
- // Maps a StringReference (dex_file, string_index) to the index in the literal table.
- // Entries are intially added with a 0 index, and `EmitJitRoots` will compute all the
- // indices.
- ArenaSafeMap<StringReference, size_t, StringReferenceValueComparator> jit_string_roots_;
-
DisassemblyInformation* disasm_info_;
private: