Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: src/objects.h

Issue 153913002: A64: Synchronize with r16756. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/object-observe.js ('k') | src/objects.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 1109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1120 V(kExpected0AsASmiSentinel, "Expected 0 as a Smi sentinel") \ 1120 V(kExpected0AsASmiSentinel, "Expected 0 as a Smi sentinel") \
1121 V(kExpectedAlignmentMarker, "expected alignment marker") \ 1121 V(kExpectedAlignmentMarker, "expected alignment marker") \
1122 V(kExpectedFunctionObject, "expected function object in register") \ 1122 V(kExpectedFunctionObject, "expected function object in register") \
1123 V(kExpectedHeapNumber, "expected HeapNumber") \ 1123 V(kExpectedHeapNumber, "expected HeapNumber") \
1124 V(kExpectedNativeContext, "expected native context") \ 1124 V(kExpectedNativeContext, "expected native context") \
1125 V(kExpectedNonIdenticalObjects, "expected non-identical objects") \ 1125 V(kExpectedNonIdenticalObjects, "expected non-identical objects") \
1126 V(kExpectedNonNullContext, "expected non-null context") \ 1126 V(kExpectedNonNullContext, "expected non-null context") \
1127 V(kExpectedPositiveZero, "expected +0.0") \ 1127 V(kExpectedPositiveZero, "expected +0.0") \
1128 V(kExpectedPropertyCellInTypeInfoCell, \ 1128 V(kExpectedPropertyCellInTypeInfoCell, \
1129 "Expected property cell in type_info_cell") \ 1129 "Expected property cell in type_info_cell") \
1130 V(kExpectedAllocationSiteInCell, \
1131 "Expected AllocationSite in property cell") \
1130 V(kExpectedPropertyCellInRegisterA2, \ 1132 V(kExpectedPropertyCellInRegisterA2, \
1131 "Expected property cell in register a2") \ 1133 "Expected property cell in register a2") \
1132 V(kExpectedPropertyCellInRegisterEbx, \ 1134 V(kExpectedPropertyCellInRegisterEbx, \
1133 "Expected property cell in register ebx") \ 1135 "Expected property cell in register ebx") \
1134 V(kExpectedPropertyCellInRegisterRbx, \ 1136 V(kExpectedPropertyCellInRegisterRbx, \
1135 "Expected property cell in register rbx") \ 1137 "Expected property cell in register rbx") \
1136 V(kExpectedSmiOrHeapNumber, "expected smi or HeapNumber") \ 1138 V(kExpectedSmiOrHeapNumber, "expected smi or HeapNumber") \
1137 V(kExpectingAlignmentForCopyBytes, \ 1139 V(kExpectingAlignmentForCopyBytes, \
1138 "Expecting alignment for CopyBytes") \ 1140 "Expecting alignment for CopyBytes") \
1139 V(kExportDeclaration, "Export declaration") \ 1141 V(kExportDeclaration, "Export declaration") \
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after
1789 // Useful when the map pointer field is used for other purposes. 1791 // Useful when the map pointer field is used for other purposes.
1790 // GC internal. 1792 // GC internal.
1791 inline int SizeFromMap(Map* map); 1793 inline int SizeFromMap(Map* map);
1792 1794
1793 // Returns the field at offset in obj, as a read/write Object* reference. 1795 // Returns the field at offset in obj, as a read/write Object* reference.
1794 // Does no checking, and is safe to use during GC, while maps are invalid. 1796 // Does no checking, and is safe to use during GC, while maps are invalid.
1795 // Does not invoke write barrier, so should only be assigned to 1797 // Does not invoke write barrier, so should only be assigned to
1796 // during marking GC. 1798 // during marking GC.
1797 static inline Object** RawField(HeapObject* obj, int offset); 1799 static inline Object** RawField(HeapObject* obj, int offset);
1798 1800
1801 // Adds the |code| object related to |name| to the code cache of this map. If
1802 // this map is a dictionary map that is shared, the map copied and installed
1803 // onto the object.
1804 static void UpdateMapCodeCache(Handle<HeapObject> object,
1805 Handle<Name> name,
1806 Handle<Code> code);
1807
1799 // Casting. 1808 // Casting.
1800 static inline HeapObject* cast(Object* obj); 1809 static inline HeapObject* cast(Object* obj);
1801 1810
1802 // Return the write barrier mode for this. Callers of this function 1811 // Return the write barrier mode for this. Callers of this function
1803 // must be able to present a reference to an DisallowHeapAllocation 1812 // must be able to present a reference to an DisallowHeapAllocation
1804 // object as a sign that they are not going to use this function 1813 // object as a sign that they are not going to use this function
1805 // from code that allocates and thus invalidates the returned write 1814 // from code that allocates and thus invalidates the returned write
1806 // barrier mode. 1815 // barrier mode.
1807 inline WriteBarrierMode GetWriteBarrierMode( 1816 inline WriteBarrierMode GetWriteBarrierMode(
1808 const DisallowHeapAllocation& promise); 1817 const DisallowHeapAllocation& promise);
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
2221 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map); 2230 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map);
2222 inline MUST_USE_RESULT MaybeObject* AllocateStorageForMap(Map* map); 2231 inline MUST_USE_RESULT MaybeObject* AllocateStorageForMap(Map* map);
2223 2232
2224 static void MigrateInstance(Handle<JSObject> instance); 2233 static void MigrateInstance(Handle<JSObject> instance);
2225 inline MUST_USE_RESULT MaybeObject* MigrateInstance(); 2234 inline MUST_USE_RESULT MaybeObject* MigrateInstance();
2226 2235
2227 static Handle<Object> TryMigrateInstance(Handle<JSObject> instance); 2236 static Handle<Object> TryMigrateInstance(Handle<JSObject> instance);
2228 inline MUST_USE_RESULT MaybeObject* TryMigrateInstance(); 2237 inline MUST_USE_RESULT MaybeObject* TryMigrateInstance();
2229 2238
2230 // Can cause GC. 2239 // Can cause GC.
2231 MUST_USE_RESULT MaybeObject* SetLocalPropertyIgnoreAttributes(
2232 Name* key,
2233 Object* value,
2234 PropertyAttributes attributes,
2235 ValueType value_type = OPTIMAL_REPRESENTATION,
2236 StoreMode mode = ALLOW_AS_CONSTANT,
2237 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK);
2238 MUST_USE_RESULT MaybeObject* SetLocalPropertyIgnoreAttributesTrampoline( 2240 MUST_USE_RESULT MaybeObject* SetLocalPropertyIgnoreAttributesTrampoline(
2239 Name* key, 2241 Name* key,
2240 Object* value, 2242 Object* value,
2241 PropertyAttributes attributes, 2243 PropertyAttributes attributes,
2242 ValueType value_type = OPTIMAL_REPRESENTATION, 2244 ValueType value_type = OPTIMAL_REPRESENTATION,
2243 StoreMode mode = ALLOW_AS_CONSTANT, 2245 StoreMode mode = ALLOW_AS_CONSTANT,
2244 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK); 2246 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK);
2245 2247
2246 // Retrieve a value in a normalized object given a lookup result. 2248 // Retrieve a value in a normalized object given a lookup result.
2247 // Handles the special representation of JS global objects. 2249 // Handles the special representation of JS global objects.
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
2607 PropertyNormalizationMode mode, 2609 PropertyNormalizationMode mode,
2608 int expected_additional_properties); 2610 int expected_additional_properties);
2609 2611
2610 // Convert and update the elements backing store to be a 2612 // Convert and update the elements backing store to be a
2611 // SeededNumberDictionary dictionary. Returns the backing after conversion. 2613 // SeededNumberDictionary dictionary. Returns the backing after conversion.
2612 static Handle<SeededNumberDictionary> NormalizeElements( 2614 static Handle<SeededNumberDictionary> NormalizeElements(
2613 Handle<JSObject> object); 2615 Handle<JSObject> object);
2614 2616
2615 MUST_USE_RESULT MaybeObject* NormalizeElements(); 2617 MUST_USE_RESULT MaybeObject* NormalizeElements();
2616 2618
2617 static void UpdateMapCodeCache(Handle<JSObject> object,
2618 Handle<Name> name,
2619 Handle<Code> code);
2620
2621 // Transform slow named properties to fast variants. 2619 // Transform slow named properties to fast variants.
2622 // Returns failure if allocation failed. 2620 // Returns failure if allocation failed.
2623 static void TransformToFastProperties(Handle<JSObject> object, 2621 static void TransformToFastProperties(Handle<JSObject> object,
2624 int unused_property_fields); 2622 int unused_property_fields);
2625 2623
2626 MUST_USE_RESULT MaybeObject* TransformToFastProperties( 2624 MUST_USE_RESULT MaybeObject* TransformToFastProperties(
2627 int unused_property_fields); 2625 int unused_property_fields);
2628 2626
2629 // Access fast-case object properties at index. 2627 // Access fast-case object properties at index.
2630 MUST_USE_RESULT inline MaybeObject* FastPropertyAt( 2628 MUST_USE_RESULT inline MaybeObject* FastPropertyAt(
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
2665 static Handle<Object> PreventExtensions(Handle<JSObject> object); 2663 static Handle<Object> PreventExtensions(Handle<JSObject> object);
2666 MUST_USE_RESULT MaybeObject* PreventExtensions(); 2664 MUST_USE_RESULT MaybeObject* PreventExtensions();
2667 2665
2668 // ES5 Object.freeze 2666 // ES5 Object.freeze
2669 MUST_USE_RESULT MaybeObject* Freeze(Isolate* isolate); 2667 MUST_USE_RESULT MaybeObject* Freeze(Isolate* isolate);
2670 2668
2671 2669
2672 // Called the first time an object is observed with ES7 Object.observe. 2670 // Called the first time an object is observed with ES7 Object.observe.
2673 MUST_USE_RESULT MaybeObject* SetObserved(Isolate* isolate); 2671 MUST_USE_RESULT MaybeObject* SetObserved(Isolate* isolate);
2674 2672
2675 // Copy object 2673 // Copy object.
2676 MUST_USE_RESULT MaybeObject* DeepCopy(Isolate* isolate); 2674 static Handle<JSObject> Copy(Handle<JSObject> object);
2675 static Handle<JSObject> DeepCopy(Handle<JSObject> object);
2677 2676
2678 // Dispatched behavior. 2677 // Dispatched behavior.
2679 void JSObjectShortPrint(StringStream* accumulator); 2678 void JSObjectShortPrint(StringStream* accumulator);
2680 DECLARE_PRINTER(JSObject) 2679 DECLARE_PRINTER(JSObject)
2681 DECLARE_VERIFIER(JSObject) 2680 DECLARE_VERIFIER(JSObject)
2682 #ifdef OBJECT_PRINT 2681 #ifdef OBJECT_PRINT
2683 void PrintProperties(FILE* out = stdout); 2682 void PrintProperties(FILE* out = stdout);
2684 void PrintElements(FILE* out = stdout); 2683 void PrintElements(FILE* out = stdout);
2685 void PrintTransitions(FILE* out = stdout); 2684 void PrintTransitions(FILE* out = stdout);
2686 #endif 2685 #endif
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
2769 Handle<Name> name, 2768 Handle<Name> name,
2770 Handle<Object> old_value); 2769 Handle<Object> old_value);
2771 2770
2772 // Deliver change records to observers. May cause GC. 2771 // Deliver change records to observers. May cause GC.
2773 static void DeliverChangeRecords(Isolate* isolate); 2772 static void DeliverChangeRecords(Isolate* isolate);
2774 2773
2775 private: 2774 private:
2776 friend class DictionaryElementsAccessor; 2775 friend class DictionaryElementsAccessor;
2777 friend class JSReceiver; 2776 friend class JSReceiver;
2778 2777
2778 // TODO(mstarzinger): Soon to be handlified.
2779 MUST_USE_RESULT MaybeObject* SetLocalPropertyIgnoreAttributes(
2780 Name* key,
2781 Object* value,
2782 PropertyAttributes attributes,
2783 ValueType value_type = OPTIMAL_REPRESENTATION,
2784 StoreMode mode = ALLOW_AS_CONSTANT,
2785 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK);
2786
2779 MUST_USE_RESULT MaybeObject* GetElementWithCallback(Object* receiver, 2787 MUST_USE_RESULT MaybeObject* GetElementWithCallback(Object* receiver,
2780 Object* structure, 2788 Object* structure,
2781 uint32_t index, 2789 uint32_t index,
2782 Object* holder); 2790 Object* holder);
2783 MUST_USE_RESULT PropertyAttributes GetElementAttributeWithInterceptor( 2791 MUST_USE_RESULT PropertyAttributes GetElementAttributeWithInterceptor(
2784 JSReceiver* receiver, 2792 JSReceiver* receiver,
2785 uint32_t index, 2793 uint32_t index,
2786 bool continue_search); 2794 bool continue_search);
2787 MUST_USE_RESULT PropertyAttributes GetElementAttributeWithoutInterceptor( 2795 MUST_USE_RESULT PropertyAttributes GetElementAttributeWithoutInterceptor(
2788 JSReceiver* receiver, 2796 JSReceiver* receiver,
(...skipping 2048 matching lines...) Expand 10 before | Expand all | Expand 10 after
4837 4845
4838 static const char* Kind2String(Kind kind); 4846 static const char* Kind2String(Kind kind);
4839 4847
4840 // Types of stubs. 4848 // Types of stubs.
4841 enum StubType { 4849 enum StubType {
4842 NORMAL, 4850 NORMAL,
4843 FIELD, 4851 FIELD,
4844 CONSTANT, 4852 CONSTANT,
4845 CALLBACKS, 4853 CALLBACKS,
4846 INTERCEPTOR, 4854 INTERCEPTOR,
4847 MAP_TRANSITION, 4855 TRANSITION,
4848 NONEXISTENT 4856 NONEXISTENT
4849 }; 4857 };
4850 4858
4851 enum StubHolder { 4859 enum StubHolder {
4852 OWN_STUB, 4860 OWN_STUB,
4853 PROTOTYPE_STUB 4861 PROTOTYPE_STUB
4854 }; 4862 };
4855 4863
4856 typedef int ExtraICState; 4864 typedef int ExtraICState;
4857 4865
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
5180 kAfterLastCodeAge, 5188 kAfterLastCodeAge,
5181 kLastCodeAge = kAfterLastCodeAge - 1, 5189 kLastCodeAge = kAfterLastCodeAge - 1,
5182 kCodeAgeCount = kAfterLastCodeAge - 1 5190 kCodeAgeCount = kAfterLastCodeAge - 1
5183 }; 5191 };
5184 #undef DECLARE_CODE_AGE_ENUM 5192 #undef DECLARE_CODE_AGE_ENUM
5185 5193
5186 // Code aging. Indicates how many full GCs this code has survived without 5194 // Code aging. Indicates how many full GCs this code has survived without
5187 // being entered through the prologue. Used to determine when it is 5195 // being entered through the prologue. Used to determine when it is
5188 // relatively safe to flush this code object and replace it with the lazy 5196 // relatively safe to flush this code object and replace it with the lazy
5189 // compilation stub. 5197 // compilation stub.
5190 static void MakeCodeAgeSequenceYoung(byte* sequence); 5198 static void MakeCodeAgeSequenceYoung(byte* sequence, Isolate* isolate);
5191 void MakeOlder(MarkingParity); 5199 void MakeOlder(MarkingParity);
5192 static bool IsYoungSequence(byte* sequence); 5200 static bool IsYoungSequence(byte* sequence);
5193 bool IsOld(); 5201 bool IsOld();
5194 int GetAge(); 5202 int GetAge();
5195 5203
5196 void PrintDeoptLocation(int bailout_id); 5204 void PrintDeoptLocation(int bailout_id);
5197 bool CanDeoptAt(Address pc); 5205 bool CanDeoptAt(Address pc);
5198 5206
5199 #ifdef VERIFY_HEAP 5207 #ifdef VERIFY_HEAP
5200 void VerifyEmbeddedMapsDependency(); 5208 void VerifyEmbeddedMapsDependency();
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
5326 5334
5327 private: 5335 private:
5328 friend class RelocIterator; 5336 friend class RelocIterator;
5329 5337
5330 // Code aging 5338 // Code aging
5331 byte* FindCodeAgeSequence(); 5339 byte* FindCodeAgeSequence();
5332 static void GetCodeAgeAndParity(Code* code, Age* age, 5340 static void GetCodeAgeAndParity(Code* code, Age* age,
5333 MarkingParity* parity); 5341 MarkingParity* parity);
5334 static void GetCodeAgeAndParity(byte* sequence, Age* age, 5342 static void GetCodeAgeAndParity(byte* sequence, Age* age,
5335 MarkingParity* parity); 5343 MarkingParity* parity);
5336 static Code* GetCodeAgeStub(Age age, MarkingParity parity); 5344 static Code* GetCodeAgeStub(Isolate* isolate, Age age, MarkingParity parity);
5337 5345
5338 // Code aging -- platform-specific 5346 // Code aging -- platform-specific
5339 static void PatchPlatformCodeAge(byte* sequence, Age age, 5347 static void PatchPlatformCodeAge(Isolate* isolate,
5348 byte* sequence, Age age,
5340 MarkingParity parity); 5349 MarkingParity parity);
5341 5350
5342 DISALLOW_IMPLICIT_CONSTRUCTORS(Code); 5351 DISALLOW_IMPLICIT_CONSTRUCTORS(Code);
5343 }; 5352 };
5344 5353
5345 5354
5346 class CompilationInfo; 5355 class CompilationInfo;
5347 5356
5348 // This class describes the layout of dependent codes array of a map. The 5357 // This class describes the layout of dependent codes array of a map. The
5349 // array is partitioned into several groups of dependent codes. Each group 5358 // array is partitioned into several groups of dependent codes. Each group
(...skipping 602 matching lines...) Expand 10 before | Expand all | Expand 10 after
5952 // heap verification is turned on. 5961 // heap verification is turned on.
5953 void ZapPrototypeTransitions(); 5962 void ZapPrototypeTransitions();
5954 void ZapTransitions(); 5963 void ZapTransitions();
5955 5964
5956 bool CanTransition() { 5965 bool CanTransition() {
5957 // Only JSObject and subtypes have map transitions and back pointers. 5966 // Only JSObject and subtypes have map transitions and back pointers.
5958 STATIC_ASSERT(LAST_TYPE == LAST_JS_OBJECT_TYPE); 5967 STATIC_ASSERT(LAST_TYPE == LAST_JS_OBJECT_TYPE);
5959 return instance_type() >= FIRST_JS_OBJECT_TYPE; 5968 return instance_type() >= FIRST_JS_OBJECT_TYPE;
5960 } 5969 }
5961 5970
5971 bool IsJSObjectMap() {
5972 return instance_type() >= FIRST_JS_OBJECT_TYPE;
5973 }
5974
5962 // Fires when the layout of an object with a leaf map changes. 5975 // Fires when the layout of an object with a leaf map changes.
5963 // This includes adding transitions to the leaf map or changing 5976 // This includes adding transitions to the leaf map or changing
5964 // the descriptor array. 5977 // the descriptor array.
5965 inline void NotifyLeafMapLayoutChange(); 5978 inline void NotifyLeafMapLayoutChange();
5966 5979
5967 inline bool CanOmitMapChecks(); 5980 inline bool CanOmitMapChecks();
5968 5981
5969 void AddDependentCompilationInfo(DependentCode::DependencyGroup group, 5982 void AddDependentCompilationInfo(DependentCode::DependencyGroup group,
5970 CompilationInfo* info); 5983 CompilationInfo* info);
5971 5984
(...skipping 1050 matching lines...) Expand 10 before | Expand all | Expand 10 after
7022 // Tells whether or not this function has been optimized. 7035 // Tells whether or not this function has been optimized.
7023 inline bool IsOptimized(); 7036 inline bool IsOptimized();
7024 7037
7025 // Tells whether or not this function can be optimized. 7038 // Tells whether or not this function can be optimized.
7026 inline bool IsOptimizable(); 7039 inline bool IsOptimizable();
7027 7040
7028 // Mark this function for lazy recompilation. The function will be 7041 // Mark this function for lazy recompilation. The function will be
7029 // recompiled the next time it is executed. 7042 // recompiled the next time it is executed.
7030 void MarkForLazyRecompilation(); 7043 void MarkForLazyRecompilation();
7031 void MarkForConcurrentRecompilation(); 7044 void MarkForConcurrentRecompilation();
7032 void MarkForInstallingRecompiledCode();
7033 void MarkInRecompileQueue(); 7045 void MarkInRecompileQueue();
7034 7046
7035 // Helpers to compile this function. Returns true on success, false on 7047 // Helpers to compile this function. Returns true on success, false on
7036 // failure (e.g., stack overflow during compilation). 7048 // failure (e.g., stack overflow during compilation).
7037 static bool EnsureCompiled(Handle<JSFunction> function, 7049 static bool EnsureCompiled(Handle<JSFunction> function,
7038 ClearExceptionFlag flag); 7050 ClearExceptionFlag flag);
7039 static bool CompileLazy(Handle<JSFunction> function, 7051 static bool CompileLazy(Handle<JSFunction> function,
7040 ClearExceptionFlag flag); 7052 ClearExceptionFlag flag);
7041 static Handle<Code> CompileOsr(Handle<JSFunction> function, 7053 static Handle<Code> CompileOsr(Handle<JSFunction> function,
7042 BailoutId osr_ast_id, 7054 BailoutId osr_ast_id,
7043 ClearExceptionFlag flag); 7055 ClearExceptionFlag flag);
7044 static bool CompileOptimized(Handle<JSFunction> function, 7056 static bool CompileOptimized(Handle<JSFunction> function,
7045 ClearExceptionFlag flag); 7057 ClearExceptionFlag flag);
7046 7058
7047 // Tells whether or not the function is already marked for lazy 7059 // Tells whether or not the function is already marked for lazy
7048 // recompilation. 7060 // recompilation.
7049 inline bool IsMarkedForLazyRecompilation(); 7061 inline bool IsMarkedForLazyRecompilation();
7050 inline bool IsMarkedForConcurrentRecompilation(); 7062 inline bool IsMarkedForConcurrentRecompilation();
7051 inline bool IsMarkedForInstallingRecompiledCode();
7052 7063
7053 // Tells whether or not the function is on the concurrent recompilation queue. 7064 // Tells whether or not the function is on the concurrent recompilation queue.
7054 inline bool IsInRecompileQueue(); 7065 inline bool IsInRecompileQueue();
7055 7066
7056 // Check whether or not this function is inlineable. 7067 // Check whether or not this function is inlineable.
7057 bool IsInlineable(); 7068 bool IsInlineable();
7058 7069
7059 // [literals_or_bindings]: Fixed array holding either 7070 // [literals_or_bindings]: Fixed array holding either
7060 // the materialized literals or the bindings of a bound function. 7071 // the materialized literals or the bindings of a bound function.
7061 // 7072 //
(...skipping 3212 matching lines...) Expand 10 before | Expand all | Expand 10 after
10274 } else { 10285 } else {
10275 value &= ~(1 << bit_position); 10286 value &= ~(1 << bit_position);
10276 } 10287 }
10277 return value; 10288 return value;
10278 } 10289 }
10279 }; 10290 };
10280 10291
10281 } } // namespace v8::internal 10292 } } // namespace v8::internal
10282 10293
10283 #endif // V8_OBJECTS_H_ 10294 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/object-observe.js ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698