Mercurial > hg > truffle
comparison src/share/vm/c1/c1_GraphBuilder.cpp @ 20804:7848fc12602b
Merge with jdk8u40-b25
author | Gilles Duboscq <gilles.m.duboscq@oracle.com> |
---|---|
date | Tue, 07 Apr 2015 14:58:49 +0200 |
parents | 52b4284cb496 945284eb609f |
children | be896a1983c0 |
comparison
equal
deleted
inserted
replaced
20184:84105dcdb05b | 20804:7848fc12602b |
---|---|
2059 void GraphBuilder::new_instance(int klass_index) { | 2059 void GraphBuilder::new_instance(int klass_index) { |
2060 ValueStack* state_before = copy_state_exhandling(); | 2060 ValueStack* state_before = copy_state_exhandling(); |
2061 bool will_link; | 2061 bool will_link; |
2062 ciKlass* klass = stream()->get_klass(will_link); | 2062 ciKlass* klass = stream()->get_klass(will_link); |
2063 assert(klass->is_instance_klass(), "must be an instance klass"); | 2063 assert(klass->is_instance_klass(), "must be an instance klass"); |
2064 NewInstance* new_instance = new NewInstance(klass->as_instance_klass(), state_before); | 2064 NewInstance* new_instance = new NewInstance(klass->as_instance_klass(), state_before, stream()->is_unresolved_klass()); |
2065 _memory->new_instance(new_instance); | 2065 _memory->new_instance(new_instance); |
2066 apush(append_split(new_instance)); | 2066 apush(append_split(new_instance)); |
2067 } | 2067 } |
2068 | 2068 |
2069 | 2069 |
3960 } | 3960 } |
3961 | 3961 |
3962 // Clear out bytecode stream | 3962 // Clear out bytecode stream |
3963 scope_data()->set_stream(NULL); | 3963 scope_data()->set_stream(NULL); |
3964 | 3964 |
3965 CompileLog* log = compilation()->log(); | |
3966 if (log != NULL) log->head("parse method='%d'", log->identify(callee)); | |
3967 | |
3965 // Ready to resume parsing in callee (either in the same block we | 3968 // Ready to resume parsing in callee (either in the same block we |
3966 // were in before or in the callee's start block) | 3969 // were in before or in the callee's start block) |
3967 iterate_all_blocks(callee_start_block == NULL); | 3970 iterate_all_blocks(callee_start_block == NULL); |
3971 | |
3972 if (log != NULL) log->done("parse"); | |
3968 | 3973 |
3969 // If we bailed out during parsing, return immediately (this is bad news) | 3974 // If we bailed out during parsing, return immediately (this is bad news) |
3970 if (bailed_out()) | 3975 if (bailed_out()) |
3971 return false; | 3976 return false; |
3972 | 3977 |