Home | History | Annotate | Download | only in src

Lines Matching refs:oracle

400 void Property::RecordTypeFeedback(TypeFeedbackOracle* oracle) {
401 // Record type feedback from the oracle in the AST.
402 is_uninitialized_ = oracle->LoadIsUninitialized(this);
405 is_monomorphic_ = oracle->LoadIsMonomorphicNormal(this);
408 if (oracle->LoadIsBuiltin(this, Builtins::kLoadIC_ArrayLength)) {
410 } else if (oracle->LoadIsBuiltin(this, Builtins::kLoadIC_StringLength)) {
412 } else if (oracle->LoadIsBuiltin(this,
419 oracle->LoadReceiverTypes(this, name, &receiver_types_);
421 } else if (oracle->LoadIsBuiltin(this, Builtins::kKeyedLoadIC_String)) {
424 receiver_types_.Add(oracle->LoadMonomorphicReceiverType(this));
425 } else if (oracle->LoadIsMegamorphicWithTypeInfo(this)) {
427 oracle->CollectKeyedReceiverTypes(this->id(), &receiver_types_);
432 void Assignment::RecordTypeFeedback(TypeFeedbackOracle* oracle) {
435 is_monomorphic_ = oracle->StoreIsMonomorphicNormal(this);
441 oracle->StoreReceiverTypes(this, name, &receiver_types_);
444 receiver_types_.Add(oracle->StoreMonomorphicReceiverType(this));
445 } else if (oracle->StoreIsMegamorphicWithTypeInfo(this)) {
447 oracle->CollectKeyedReceiverTypes(this->id(), &receiver_types_);
452 void CountOperation::RecordTypeFeedback(TypeFeedbackOracle* oracle) {
453 is_monomorphic_ = oracle->StoreIsMonomorphicNormal(this);
457 receiver_types_.Add(oracle->StoreMonomorphicReceiverType(this));
458 } else if (oracle->StoreIsMegamorphicWithTypeInfo(this)) {
460 oracle->CollectKeyedReceiverTypes(this->id(), &receiver_types_);
465 void CaseClause::RecordTypeFeedback(TypeFeedbackOracle* oracle) {
466 TypeInfo info = oracle->SwitchType(this);
547 void Call::RecordTypeFeedback(TypeFeedbackOracle* oracle,
549 is_monomorphic_ = oracle->CallIsMonomorphic(this);
553 if (is_monomorphic_) target_ = oracle->GetCallTarget(this);
560 oracle->CallReceiverTypes(this, name, call_kind, &receiver_types_);
570 check_type_ = oracle->GetCallCheckType(this);
579 oracle->GetPrototypeForPrimitiveCheck(check_type_));
588 void CallNew::RecordTypeFeedback(TypeFeedbackOracle* oracle) {
589 is_monomorphic_ = oracle->CallNewIsMonomorphic(this);
591 target_ = oracle->GetCallNewTarget(this);
596 void CompareOperation::RecordTypeFeedback(TypeFeedbackOracle* oracle) {
597 TypeInfo info = oracle->CompareType(this);
608 void ObjectLiteral::Property::RecordTypeFeedback(TypeFeedbackOracle* oracle) {
609 receiver_type_ = oracle->ObjectLiteralStoreIsMonomorphic(this)
610 ? oracle->GetObjectLiteralStoreMap(this)