diff options
author | Refael Ackermann <refack@gmail.com> | 2014-09-29 13:20:04 +0400 |
---|---|---|
committer | Fedor Indutny <fedor@indutny.com> | 2014-10-08 15:44:38 +0400 |
commit | 9116b240c924d37627313416b7ee038d0580afbc (patch) | |
tree | 86c586915a96d308b1b04de679a8ae293caf3e41 /deps/v8/src/elements-kind.cc | |
parent | a2a3fd48934f36d94575dd33d2a2cb732f937f77 (diff) | |
download | node-9116b240c924d37627313416b7ee038d0580afbc.tar.gz |
deps: update v8 to 3.28.73
Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/joyent/node/pull/8476
Diffstat (limited to 'deps/v8/src/elements-kind.cc')
-rw-r--r-- | deps/v8/src/elements-kind.cc | 40 |
1 files changed, 17 insertions, 23 deletions
diff --git a/deps/v8/src/elements-kind.cc b/deps/v8/src/elements-kind.cc index adab39679..0ebc6dc24 100644 --- a/deps/v8/src/elements-kind.cc +++ b/deps/v8/src/elements-kind.cc @@ -2,11 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "elements-kind.h" +#include "src/elements-kind.h" -#include "api.h" -#include "elements.h" -#include "objects.h" +#include "src/api.h" +#include "src/base/lazy-instance.h" +#include "src/elements.h" +#include "src/objects.h" namespace v8 { namespace internal { @@ -51,23 +52,16 @@ int ElementsKindToShiftSize(ElementsKind elements_kind) { } -const char* ElementsKindToString(ElementsKind kind) { - ElementsAccessor* accessor = ElementsAccessor::ForKind(kind); - return accessor->name(); -} - - -void PrintElementsKind(FILE* out, ElementsKind kind) { - PrintF(out, "%s", ElementsKindToString(kind)); +int GetDefaultHeaderSizeForElementsKind(ElementsKind elements_kind) { + STATIC_ASSERT(FixedArray::kHeaderSize == FixedDoubleArray::kHeaderSize); + return IsExternalArrayElementsKind(elements_kind) + ? 0 : (FixedArray::kHeaderSize - kHeapObjectTag); } -ElementsKind GetInitialFastElementsKind() { - if (FLAG_packed_arrays) { - return FAST_SMI_ELEMENTS; - } else { - return FAST_HOLEY_SMI_ELEMENTS; - } +const char* ElementsKindToString(ElementsKind kind) { + ElementsAccessor* accessor = ElementsAccessor::ForKind(kind); + return accessor->name(); } @@ -96,13 +90,13 @@ struct InitializeFastElementsKindSequence { }; -static LazyInstance<ElementsKind*, - InitializeFastElementsKindSequence>::type +static base::LazyInstance<ElementsKind*, + InitializeFastElementsKindSequence>::type fast_elements_kind_sequence = LAZY_INSTANCE_INITIALIZER; ElementsKind GetFastElementsKindFromSequenceIndex(int sequence_number) { - ASSERT(sequence_number >= 0 && + DCHECK(sequence_number >= 0 && sequence_number < kFastElementsKindCount); return fast_elements_kind_sequence.Get()[sequence_number]; } @@ -136,8 +130,8 @@ ElementsKind GetNextTransitionElementsKind(ElementsKind kind) { ElementsKind GetNextMoreGeneralFastElementsKind(ElementsKind elements_kind, bool allow_only_packed) { - ASSERT(IsFastElementsKind(elements_kind)); - ASSERT(elements_kind != TERMINAL_FAST_ELEMENTS_KIND); + DCHECK(IsFastElementsKind(elements_kind)); + DCHECK(elements_kind != TERMINAL_FAST_ELEMENTS_KIND); while (true) { elements_kind = GetNextTransitionElementsKind(elements_kind); if (!IsFastHoleyElementsKind(elements_kind) || !allow_only_packed) { |