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 1980 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1991 }; | 1991 }; |
1992 | 1992 |
1993 | 1993 |
1994 class ArrayConstructorStubBase : public HydrogenCodeStub { | 1994 class ArrayConstructorStubBase : public HydrogenCodeStub { |
1995 public: | 1995 public: |
1996 ArrayConstructorStubBase(ElementsKind kind, ContextCheckMode context_mode, | 1996 ArrayConstructorStubBase(ElementsKind kind, ContextCheckMode context_mode, |
1997 AllocationSiteOverrideMode override_mode) { | 1997 AllocationSiteOverrideMode override_mode) { |
1998 // It only makes sense to override local allocation site behavior | 1998 // It only makes sense to override local allocation site behavior |
1999 // if there is a difference between the global allocation site policy | 1999 // if there is a difference between the global allocation site policy |
2000 // for an ElementsKind and the desired usage of the stub. | 2000 // for an ElementsKind and the desired usage of the stub. |
2001 ASSERT(!(FLAG_track_allocation_sites && | 2001 ASSERT(override_mode != DISABLE_ALLOCATION_SITES || |
2002 override_mode == DISABLE_ALLOCATION_SITES) || | |
2003 AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE); | 2002 AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE); |
2004 bit_field_ = ElementsKindBits::encode(kind) | | 2003 bit_field_ = ElementsKindBits::encode(kind) | |
2005 AllocationSiteOverrideModeBits::encode(override_mode) | | 2004 AllocationSiteOverrideModeBits::encode(override_mode) | |
2006 ContextCheckModeBits::encode(context_mode); | 2005 ContextCheckModeBits::encode(context_mode); |
2007 } | 2006 } |
2008 | 2007 |
2009 ElementsKind elements_kind() const { | 2008 ElementsKind elements_kind() const { |
2010 return ElementsKindBits::decode(bit_field_); | 2009 return ElementsKindBits::decode(bit_field_); |
2011 } | 2010 } |
2012 | 2011 |
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2451 int MinorKey() { return 0; } | 2450 int MinorKey() { return 0; } |
2452 | 2451 |
2453 void Generate(MacroAssembler* masm); | 2452 void Generate(MacroAssembler* masm); |
2454 | 2453 |
2455 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); | 2454 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); |
2456 }; | 2455 }; |
2457 | 2456 |
2458 } } // namespace v8::internal | 2457 } } // namespace v8::internal |
2459 | 2458 |
2460 #endif // V8_CODE_STUBS_H_ | 2459 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |