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

Unified Diff: src/ast.cc

Issue 16408005: CallNewArray sites need the original feedback cell at crankshaft time. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 6 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 | « src/ast.h ('k') | src/hydrogen.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ast.cc
diff --git a/src/ast.cc b/src/ast.cc
index 8c0351c0168064835f6bbd173818e6aac08d23ad..2b457d0e0520031d3633963797ad034e41fc7c50 100644
--- a/src/ast.cc
+++ b/src/ast.cc
@@ -655,17 +655,15 @@ void Call::RecordTypeFeedback(TypeFeedbackOracle* oracle,
void CallNew::RecordTypeFeedback(TypeFeedbackOracle* oracle) {
+ allocation_info_cell_ = oracle->GetCallNewAllocationInfoCell(this);
is_monomorphic_ = oracle->CallNewIsMonomorphic(this);
if (is_monomorphic_) {
target_ = oracle->GetCallNewTarget(this);
- elements_kind_ = oracle->GetCallNewElementsKind(this);
+ Object* value = allocation_info_cell_->value();
+ if (value->IsSmi()) {
rossberg 2013/06/06 09:24:19 I'm not sure how this can ever be true, given that
rossberg 2013/06/06 10:36:49 Never mind, I was overlooking the value method...
+ elements_kind_ = static_cast<ElementsKind>(Smi::cast(value)->value());
+ }
}
- Handle<Object> alloc_elements_kind = oracle->GetInfo(CallNewFeedbackId());
-// if (alloc_elements_kind->IsSmi())
-// alloc_elements_kind_ = Handle<Smi>::cast(alloc_elements_kind);
- alloc_elements_kind_ = alloc_elements_kind->IsSmi()
- ? Handle<Smi>::cast(alloc_elements_kind)
- : handle(Smi::FromInt(GetInitialFastElementsKind()), oracle->isolate());
}
« no previous file with comments | « src/ast.h ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698