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 |