Home | History | Annotate | Download | only in runtime

Lines Matching full:runtime

17 #include "runtime.h"
96 const char* Runtime::kDefaultInstructionSetFeatures =
98 Runtime* Runtime::instance_ = NULL;
100 Runtime::Runtime()
123 shutdown_cond_(new ConditionVariable("Runtime shutdown", *Locks::runtime_shutdown_lock_)),
154 Runtime::~Runtime() {
174 // Shut down background profiler before the runtime exits.
205 // TODO: acquire a static mutex on Runtime to avoid racing.
217 os << "Runtime aborting --- recursively, so no thread-specific detail!\n";
221 os << "Runtime aborting...\n";
222 if (Runtime::Current() == NULL) {
223 os << "(Runtime does not yet exist!)\n";
228 os << "(Aborting thread was not attached to runtime!)\n";
257 Runtime* runtime = Runtime::Current();
258 if (runtime != nullptr) {
259 ThreadList* thread_list = runtime->GetThreadList();
276 void Runtime::Abort() {
292 if (Runtime::Current() != NULL && Runtime::Current()->abort_ != NULL) {
294 Runtime::Current()->abort_();
315 void Runtime::PreZygoteFork() {
319 void Runtime::CallExitHook(jint status) {
327 void Runtime::SweepSystemWeaks(IsMarkedCallback* visitor, void* arg) {
333 bool Runtime::Create(const RuntimeOptions& options, bool ignore_unrecognized) {
334 // TODO: acquire a static mutex on Runtime to avoid racing.
335 if (Runtime::instance_ != NULL) {
339 instance_ = new Runtime;
349 if (Runtime::Current()->UseCompileTimeClassPath()) {
354 ClassLinker* cl = Runtime::Current()->GetClassLinker();
390 std::string Runtime::GetPatchoatExecutable() const {
399 std::string Runtime::GetCompilerExecutable() const {
408 bool Runtime::Start() {
409 VLOG(startup) << "Runtime::Start entering";
422 Runtime::Current()->GetInternTable()->AddImageStringsToTable(image_space);
423 Runtime::Current()->GetClassLinker()->MoveImageClassesToClassTable();
427 if (!IsImageDex2OatEnabled() || !Runtime::Current()->GetHeap()->HasImageSpace()) {
464 VLOG(startup) << "Runtime::Start exiting";
483 void Runtime::EndThreadBirth() EXCLUSIVE_LOCKS_REQUIRED(Locks::runtime_shutdown_lock_) {
492 bool Runtime::InitZygote() {
530 void Runtime::DidForkFromZygote(JNIEnv* env, NativeBridgeAction action, const char* isa) {
552 // this will pause the runtime, so we probably want this to come last.
556 void Runtime::StartSignalCatcher() {
562 bool Runtime::IsShuttingDown(Thread* self) {
567 void Runtime::StartDaemonThreads() {
568 VLOG(startup) << "Runtime::StartDaemonThreads entering";
583 VLOG(startup) << "Runtime::StartDaemonThreads exiting";
640 Runtime::Current()->GetClassLinker()->RegisterOatFile(oat_file.release());
669 bool Runtime::Init(const RuntimeOptions& raw_options, bool ignore_unrecognized) {
679 VLOG(startup) << "Runtime::Init -verbose:startup enabled";
755 // Change the implicit checks flags based on runtime architecture.
808 // Set us to runnable so tools using a runtime can allocate and GC by default
829 for (int i = 0; i < Runtime::kLastCalleeSaveType; i++) {
830 Runtime::CalleeSaveType type = Runtime::CalleeSaveType(i);
877 // Runtime::Init() (zygote):
881 // Runtime::Start() (zygote):
893 // Runtime::Init():
897 // Runtime::Start():
902 VLOG(startup) << "Runtime::Init exiting";
906 void Runtime::InitNativeMethods() {
907 VLOG(startup) << "Runtime::InitNativeMethods entering";
914 // First set up JniConstants, which is used by both the runtime's built-in native
919 // Then set up the native methods provided by the runtime itself.
937 // Initialize well known classes that may invoke runtime native methods.
940 VLOG(startup) << "Runtime::InitNativeMethods exiting";
943 void Runtime::InitThreadGroups(Thread* self) {
958 jobject Runtime::GetMainThreadGroup() const {
963 jobject Runtime::GetSystemThreadGroup() const {
968 jobject Runtime::GetSystemClassLoader() const {
973 void Runtime::RegisterRuntimeNativeMethods(JNIEnv* env) {
1004 void Runtime::DumpForSigQuit(std::ostream& os) {
1016 void Runtime::DumpLockHolders(std::ostream& os) {
1029 void Runtime::SetStatsEnabled(bool new_state) {
1045 void Runtime::ResetStats(int kinds) {
1051 int32_t Runtime::GetStat(int kind) {
1086 void Runtime::BlockSignals() {
1089 // SIGQUIT is used to dump the runtime's state (including stack traces).
1096 bool Runtime::AttachCurrentThread(const char* thread_name, bool as_daemon, jobject thread_group,
1101 void Runtime::DetachCurrentThread() {
1112 mirror::Throwable* Runtime::GetPreAllocatedOutOfMemoryError() {
1120 mirror::Throwable* Runtime::GetPreAllocatedNoClassDefFoundError() {
1128 void Runtime::VisitConstantRoots(RootCallback* callback, void* arg) {
1149 void Runtime::VisitConcurrentRoots(RootCallback* callback, void* arg, VisitRootFlags flags) {
1158 void Runtime::VisitNonThreadRoots(RootCallback* callback, void* arg) {
1166 for (int i = 0; i < Runtime::kLastCalleeSaveType; i++) {
1182 void Runtime::VisitNonConcurrentRoots(RootCallback* callback, void* arg) {
1187 void Runtime::VisitRoots(RootCallback* callback, void* arg, VisitRootFlags flags) {
1192 mirror::ObjectArray<mirror::ArtMethod>* Runtime::CreateDefaultImt(ClassLinker* cl) {
1197 mirror::ArtMethod* imt_conflict_method = Runtime::Current()->GetImtConflictMethod();
1204 mirror::ArtMethod* Runtime::CreateImtConflictMethod() {
1206 Runtime* runtime = Runtime::Current();
1207 ClassLinker* class_linker = runtime->GetClassLinker();
1214 if (runtime->IsCompiler()) {
1228 mirror::ArtMethod* Runtime::CreateResolutionMethod() {
1230 Runtime* runtime = Runtime::Current();
1231 ClassLinker* class_linker = runtime->GetClassLinker();
1238 if (runtime->IsCompiler()) {
1252 mirror::ArtMethod* Runtime::CreateCalleeSaveMethod(CalleeSaveType type) {
1254 Runtime* runtime = Runtime::Current();
1255 ClassLinker* class_linker = runtime->GetClassLinker();
1269 void Runtime::DisallowNewSystemWeaks() {
1275 void Runtime::AllowNewSystemWeaks() {
1281 void Runtime::SetInstructionSet(InstructionSet instruction_set) {
1313 void Runtime::SetCalleeSaveMethod(mirror::ArtMethod* method, CalleeSaveType type) {
1318 const std::vector<const DexFile*>& Runtime::GetCompileTimeClassPath(jobject class_loader) {
1328 void Runtime::SetCompileTimeClassPath(jobject class_loader,
1335 void Runtime::AddMethodVerifier(verifier::MethodVerifier* verifier) {
1341 void Runtime::RemoveMethodVerifier(verifier::MethodVerifier* verifier) {
1349 void Runtime::StartProfiler(const char* profile_output_filename) {
1356 void Runtime::EnterTransactionMode(Transaction* transaction) {
1363 void Runtime::ExitTransactionMode() {
1369 void Runtime::RecordWriteField32(mirror::Object* obj, MemberOffset field_offset,
1376 void Runtime::RecordWriteField64(mirror::Object* obj, MemberOffset field_offset,
1383 void Runtime::RecordWriteFieldReference(mirror::Object* obj, MemberOffset field_offset,
1390 void Runtime::RecordWriteArray(mirror::Array* array, size_t index, uint64_t value) const {
1396 void Runtime::RecordStrongStringInsertion(mirror::String* s) const {
1402 void Runtime::RecordWeakStringInsertion(mirror::String* s) const {
1408 void Runtime::RecordStrongStringRemoval(mirror::String* s) const {
1414 void Runtime::RecordWeakStringRemoval(mirror::String* s) const {
1420 void Runtime::SetFaultMessage(const std::string& message) {
1425 void Runtime::AddCurrentRuntimeFeaturesAsDex2OatArguments(std::vector<std::string>* argv)
1431 // Make the dex2oat instruction set match that of the launching runtime. If we have multiple
1443 void Runtime::UpdateProfilerState(int state) {