| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 Handle<String> name, | 291 Handle<String> name, |
| 292 CallKind call_kind, | 292 CallKind call_kind, |
| 293 SmallMapList* types) { | 293 SmallMapList* types) { |
| 294 int arity = expr->arguments()->length(); | 294 int arity = expr->arguments()->length(); |
| 295 | 295 |
| 296 // Note: Currently we do not take string extra ic data into account | 296 // Note: Currently we do not take string extra ic data into account |
| 297 // here. | 297 // here. |
| 298 Code::ExtraICState extra_ic_state = | 298 Code::ExtraICState extra_ic_state = |
| 299 CallIC::Contextual::encode(call_kind == CALL_AS_FUNCTION); | 299 CallIC::Contextual::encode(call_kind == CALL_AS_FUNCTION); |
| 300 | 300 |
| 301 Code::Flags flags = Code::ComputeMonomorphicFlags(Code::CALL_IC, | 301 Code::Flags flags = Code::ComputeMonomorphicFlags( |
| 302 extra_ic_state, | 302 Code::CALL_IC, extra_ic_state, OWN_MAP, Code::NORMAL, arity); |
| 303 Code::NORMAL, | |
| 304 arity, | |
| 305 OWN_MAP); | |
| 306 CollectReceiverTypes(expr->CallFeedbackId(), name, flags, types); | 303 CollectReceiverTypes(expr->CallFeedbackId(), name, flags, types); |
| 307 } | 304 } |
| 308 | 305 |
| 309 | 306 |
| 310 CheckType TypeFeedbackOracle::GetCallCheckType(Call* expr) { | 307 CheckType TypeFeedbackOracle::GetCallCheckType(Call* expr) { |
| 311 Handle<Object> value = GetInfo(expr->CallFeedbackId()); | 308 Handle<Object> value = GetInfo(expr->CallFeedbackId()); |
| 312 if (!value->IsSmi()) return RECEIVER_MAP_CHECK; | 309 if (!value->IsSmi()) return RECEIVER_MAP_CHECK; |
| 313 CheckType check = static_cast<CheckType>(Smi::cast(*value)->value()); | 310 CheckType check = static_cast<CheckType>(Smi::cast(*value)->value()); |
| 314 ASSERT(check != RECEIVER_MAP_CHECK); | 311 ASSERT(check != RECEIVER_MAP_CHECK); |
| 315 return check; | 312 return check; |
| (...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 694 if (info.IsUninitialized()) return Representation::None(); | 691 if (info.IsUninitialized()) return Representation::None(); |
| 695 if (info.IsSmi()) return Representation::Smi(); | 692 if (info.IsSmi()) return Representation::Smi(); |
| 696 if (info.IsInteger32()) return Representation::Integer32(); | 693 if (info.IsInteger32()) return Representation::Integer32(); |
| 697 if (info.IsDouble()) return Representation::Double(); | 694 if (info.IsDouble()) return Representation::Double(); |
| 698 if (info.IsNumber()) return Representation::Double(); | 695 if (info.IsNumber()) return Representation::Double(); |
| 699 return Representation::Tagged(); | 696 return Representation::Tagged(); |
| 700 } | 697 } |
| 701 | 698 |
| 702 | 699 |
| 703 } } // namespace v8::internal | 700 } } // namespace v8::internal |
| OLD | NEW |