Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1499)

Unified Diff: runtime/vm/intermediate_language.cc

Issue 10825282: Put PushArgument into the environment instead of raw values. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: revert changes in deopt instructions Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/intermediate_language.h ('k') | runtime/vm/intermediate_language_ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/intermediate_language.cc
diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
index a7f617fd6eafe3656974e01facca93aa3d5da123..3eafc908074853c3c37448c69f01e084b5492c6b 100644
--- a/runtime/vm/intermediate_language.cc
+++ b/runtime/vm/intermediate_language.cc
@@ -273,6 +273,11 @@ RawAbstractType* ParameterInstr::CompileType() const {
}
+RawAbstractType* PushArgumentInstr::CompileType() const {
+ return AbstractType::null();
+}
+
+
intptr_t JoinEntryInstr::IndexOfPredecessor(BlockEntryInstr* pred) const {
for (intptr_t i = 0; i < predecessors_.length(); ++i) {
if (predecessors_[i] == pred) return i;
@@ -1233,38 +1238,6 @@ void PushArgumentInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
}
-void Environment::InitializeLocations(FlowGraphAllocator* allocator,
- intptr_t block_start_pos,
- intptr_t environment_pos) {
- // Any value mentioned in the deoptimization environment should survive
- // until the end of instruction but it does not need to be in the register.
- // Expected shape of live range:
- //
- // i i'
- // value -----*
- //
- ASSERT(locations_ == NULL);
- location_count_ = values_.length();
- if (location_count_ > 0) {
- locations_ =
- Isolate::Current()->current_zone()->Alloc<Location>(location_count_);
- for (intptr_t i = 0; i < location_count_; ++i) {
- Value* value = values_[i];
- if (value->IsUse()) {
- locations_[i] = Location::Any();
- const intptr_t vreg = value->AsUse()->definition()->ssa_temp_index();
- LiveRange* range = allocator->GetLiveRange(vreg);
- range->AddUseInterval(block_start_pos, environment_pos);
- range->AddUse(environment_pos, &locations_[i]);
- } else {
- ASSERT(value->IsConstant());
- locations_[i] = Location::NoLocation();
- }
- }
- }
-}
-
-
#undef __
} // namespace dart
« no previous file with comments | « runtime/vm/intermediate_language.h ('k') | runtime/vm/intermediate_language_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698