| Index: src/ast.cc
|
| diff --git a/src/ast.cc b/src/ast.cc
|
| index 3ca1449409466af29bca87c184efa14b6c381a4b..85482fabf341dcf646d7cc77d8d45a695e3c8282 100644
|
| --- a/src/ast.cc
|
| +++ b/src/ast.cc
|
| @@ -575,47 +575,11 @@ bool FunctionDeclaration::IsInlineable() const {
|
| // once we use the common type field in the AST consistently.
|
|
|
|
|
| -void ForInStatement::RecordTypeFeedback(TypeFeedbackOracle* oracle) {
|
| - for_in_type_ = static_cast<ForInType>(oracle->ForInType(this));
|
| -}
|
| -
|
| -
|
| void Expression::RecordToBooleanTypeFeedback(TypeFeedbackOracle* oracle) {
|
| to_boolean_types_ = oracle->ToBooleanTypes(test_id());
|
| }
|
|
|
|
|
| -void Property::RecordTypeFeedback(TypeFeedbackOracle* oracle,
|
| - Zone* zone) {
|
| - // Record type feedback from the oracle in the AST.
|
| - is_uninitialized_ = oracle->LoadIsUninitialized(this);
|
| - if (is_uninitialized_) return;
|
| -
|
| - is_pre_monomorphic_ = oracle->LoadIsPreMonomorphic(this);
|
| - is_monomorphic_ = oracle->LoadIsMonomorphicNormal(this);
|
| - ASSERT(!is_pre_monomorphic_ || !is_monomorphic_);
|
| - receiver_types_.Clear();
|
| - if (key()->IsPropertyName()) {
|
| - FunctionPrototypeStub proto_stub(Code::LOAD_IC);
|
| - if (oracle->LoadIsStub(this, &proto_stub)) {
|
| - is_function_prototype_ = true;
|
| - } else {
|
| - Literal* lit_key = key()->AsLiteral();
|
| - ASSERT(lit_key != NULL && lit_key->value()->IsString());
|
| - Handle<String> name = Handle<String>::cast(lit_key->value());
|
| - oracle->LoadReceiverTypes(this, name, &receiver_types_);
|
| - }
|
| - } else if (oracle->LoadIsBuiltin(this, Builtins::kKeyedLoadIC_String)) {
|
| - is_string_access_ = true;
|
| - } else if (is_monomorphic_) {
|
| - receiver_types_.Add(oracle->LoadMonomorphicReceiverType(this), zone);
|
| - } else if (oracle->LoadIsPolymorphic(this)) {
|
| - receiver_types_.Reserve(kMaxKeyedPolymorphism, zone);
|
| - oracle->CollectKeyedReceiverTypes(PropertyFeedbackId(), &receiver_types_);
|
| - }
|
| -}
|
| -
|
| -
|
| void Assignment::RecordTypeFeedback(TypeFeedbackOracle* oracle,
|
| Zone* zone) {
|
| Property* prop = target()->AsProperty();
|
| @@ -645,31 +609,6 @@ void Assignment::RecordTypeFeedback(TypeFeedbackOracle* oracle,
|
| }
|
|
|
|
|
| -void CountOperation::RecordTypeFeedback(TypeFeedbackOracle* oracle,
|
| - Zone* zone) {
|
| - TypeFeedbackId id = CountStoreFeedbackId();
|
| - is_monomorphic_ = oracle->StoreIsMonomorphicNormal(id);
|
| - receiver_types_.Clear();
|
| - if (is_monomorphic_) {
|
| - // Record receiver type for monomorphic keyed stores.
|
| - receiver_types_.Add(
|
| - oracle->StoreMonomorphicReceiverType(id), zone);
|
| - } else if (oracle->StoreIsKeyedPolymorphic(id)) {
|
| - receiver_types_.Reserve(kMaxKeyedPolymorphism, zone);
|
| - oracle->CollectKeyedReceiverTypes(id, &receiver_types_);
|
| - } else {
|
| - oracle->CollectPolymorphicStoreReceiverTypes(id, &receiver_types_);
|
| - }
|
| - store_mode_ = oracle->GetStoreMode(id);
|
| - type_ = oracle->IncrementType(this);
|
| -}
|
| -
|
| -
|
| -void CaseClause::RecordTypeFeedback(TypeFeedbackOracle* oracle) {
|
| - compare_type_ = oracle->ClauseType(CompareId());
|
| -}
|
| -
|
| -
|
| bool Call::ComputeTarget(Handle<Map> type, Handle<String> name) {
|
| // If there is an interceptor, we can't compute the target for a direct call.
|
| if (type->has_named_interceptor()) return false;
|
|
|