| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index dbac0f4685e2d0e594014e97410698499d5b84ff..c916fc2be680ea91eddaf8ca80d21fc81747e3f7 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -760,16 +760,6 @@ bool Object::IsDependentCode() {
|
| }
|
|
|
|
|
| -bool Object::IsTypeFeedbackCells() {
|
| - if (!IsFixedArray()) return false;
|
| - // There's actually no way to see the difference between a fixed array and
|
| - // a cache cells array. Since this is used for asserts we can check that
|
| - // the length is plausible though.
|
| - if (FixedArray::cast(this)->length() % 2 != 0) return false;
|
| - return true;
|
| -}
|
| -
|
| -
|
| bool Object::IsContext() {
|
| if (!Object::IsHeapObject()) return false;
|
| Map* map = HeapObject::cast(this)->map();
|
| @@ -2791,7 +2781,6 @@ CAST_ACCESSOR(DescriptorArray)
|
| CAST_ACCESSOR(DeoptimizationInputData)
|
| CAST_ACCESSOR(DeoptimizationOutputData)
|
| CAST_ACCESSOR(DependentCode)
|
| -CAST_ACCESSOR(TypeFeedbackCells)
|
| CAST_ACCESSOR(StringTable)
|
| CAST_ACCESSOR(JSFunctionResultCache)
|
| CAST_ACCESSOR(NormalizedMapCache)
|
| @@ -4205,16 +4194,8 @@ InlineCacheState Code::ic_state() {
|
|
|
|
|
| ExtraICState Code::extra_ic_state() {
|
| - ASSERT((is_inline_cache_stub() && !needs_extended_extra_ic_state(kind()))
|
| - || ic_state() == DEBUG_STUB);
|
| - return ExtractExtraICStateFromFlags(flags());
|
| -}
|
| -
|
| -
|
| -ExtraICState Code::extended_extra_ic_state() {
|
| ASSERT(is_inline_cache_stub() || ic_state() == DEBUG_STUB);
|
| - ASSERT(needs_extended_extra_ic_state(kind()));
|
| - return ExtractExtendedExtraICStateFromFlags(flags());
|
| + return ExtractExtraICStateFromFlags(flags());
|
| }
|
|
|
|
|
| @@ -4432,7 +4413,7 @@ void Code::set_back_edges_patched_for_osr(bool value) {
|
|
|
|
|
| byte Code::to_boolean_state() {
|
| - return extended_extra_ic_state();
|
| + return extra_ic_state();
|
| }
|
|
|
|
|
| @@ -4503,17 +4484,16 @@ Code::Flags Code::ComputeFlags(Kind kind,
|
| InlineCacheState ic_state,
|
| ExtraICState extra_ic_state,
|
| StubType type,
|
| - int argc,
|
| + Kind handler_kind,
|
| InlineCacheHolderFlag holder) {
|
| - ASSERT(argc <= Code::kMaxArguments);
|
| // Compute the bit mask.
|
| unsigned int bits = KindField::encode(kind)
|
| | ICStateField::encode(ic_state)
|
| | TypeField::encode(type)
|
| - | ExtendedExtraICStateField::encode(extra_ic_state)
|
| + | ExtraICStateField::encode(extra_ic_state)
|
| | CacheHolderField::encode(holder);
|
| - if (!Code::needs_extended_extra_ic_state(kind)) {
|
| - bits |= (argc << kArgumentsCountShift);
|
| + if (handler_kind != STUB) {
|
| + bits |= (handler_kind << kArgumentsCountShift);
|
| }
|
| return static_cast<Flags>(bits);
|
| }
|
| @@ -4523,8 +4503,9 @@ Code::Flags Code::ComputeMonomorphicFlags(Kind kind,
|
| ExtraICState extra_ic_state,
|
| InlineCacheHolderFlag holder,
|
| StubType type,
|
| - int argc) {
|
| - return ComputeFlags(kind, MONOMORPHIC, extra_ic_state, type, argc, holder);
|
| + Kind handler_kind) {
|
| + return ComputeFlags(kind, MONOMORPHIC, extra_ic_state, type,
|
| + handler_kind, holder);
|
| }
|
|
|
|
|
| @@ -4543,12 +4524,6 @@ ExtraICState Code::ExtractExtraICStateFromFlags(Flags flags) {
|
| }
|
|
|
|
|
| -ExtraICState Code::ExtractExtendedExtraICStateFromFlags(
|
| - Flags flags) {
|
| - return ExtendedExtraICStateField::decode(flags);
|
| -}
|
| -
|
| -
|
| Code::StubType Code::ExtractTypeFromFlags(Flags flags) {
|
| return TypeField::decode(flags);
|
| }
|
| @@ -5680,7 +5655,6 @@ JSDate* JSDate::cast(Object* obj) {
|
| ACCESSORS(JSMessageObject, type, String, kTypeOffset)
|
| ACCESSORS(JSMessageObject, arguments, JSArray, kArgumentsOffset)
|
| ACCESSORS(JSMessageObject, script, Object, kScriptOffset)
|
| -ACCESSORS(JSMessageObject, stack_trace, Object, kStackTraceOffset)
|
| ACCESSORS(JSMessageObject, stack_frames, Object, kStackFramesOffset)
|
| SMI_ACCESSORS(JSMessageObject, start_position, kStartPositionOffset)
|
| SMI_ACCESSORS(JSMessageObject, end_position, kEndPositionOffset)
|
| @@ -6563,43 +6537,23 @@ MaybeObject* ConstantPoolArray::Copy() {
|
| }
|
|
|
|
|
| -void TypeFeedbackCells::SetAstId(int index, TypeFeedbackId id) {
|
| - set(1 + index * 2, Smi::FromInt(id.ToInt()));
|
| -}
|
| -
|
| -
|
| -TypeFeedbackId TypeFeedbackCells::AstId(int index) {
|
| - return TypeFeedbackId(Smi::cast(get(1 + index * 2))->value());
|
| -}
|
| -
|
| -
|
| -void TypeFeedbackCells::SetCell(int index, Cell* cell) {
|
| - set(index * 2, cell);
|
| -}
|
| -
|
| -
|
| -Cell* TypeFeedbackCells::GetCell(int index) {
|
| - return Cell::cast(get(index * 2));
|
| -}
|
| -
|
| -
|
| -Handle<Object> TypeFeedbackCells::UninitializedSentinel(Isolate* isolate) {
|
| +Handle<Object> TypeFeedbackInfo::UninitializedSentinel(Isolate* isolate) {
|
| return isolate->factory()->the_hole_value();
|
| }
|
|
|
|
|
| -Handle<Object> TypeFeedbackCells::MegamorphicSentinel(Isolate* isolate) {
|
| +Handle<Object> TypeFeedbackInfo::MegamorphicSentinel(Isolate* isolate) {
|
| return isolate->factory()->undefined_value();
|
| }
|
|
|
|
|
| -Handle<Object> TypeFeedbackCells::MonomorphicArraySentinel(Isolate* isolate,
|
| +Handle<Object> TypeFeedbackInfo::MonomorphicArraySentinel(Isolate* isolate,
|
| ElementsKind elements_kind) {
|
| return Handle<Object>(Smi::FromInt(static_cast<int>(elements_kind)), isolate);
|
| }
|
|
|
|
|
| -Object* TypeFeedbackCells::RawUninitializedSentinel(Heap* heap) {
|
| +Object* TypeFeedbackInfo::RawUninitializedSentinel(Heap* heap) {
|
| return heap->the_hole_value();
|
| }
|
|
|
| @@ -6682,8 +6636,8 @@ bool TypeFeedbackInfo::matches_inlined_type_change_checksum(int checksum) {
|
| }
|
|
|
|
|
| -ACCESSORS(TypeFeedbackInfo, type_feedback_cells, TypeFeedbackCells,
|
| - kTypeFeedbackCellsOffset)
|
| +ACCESSORS(TypeFeedbackInfo, feedback_vector, FixedArray,
|
| + kFeedbackVectorOffset)
|
|
|
|
|
| SMI_ACCESSORS(AliasedArgumentsEntry, aliased_context_slot, kAliasedContextSlot)
|
|
|