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

Side by Side Diff: src/objects.h

Issue 23890030: Rollback trunk to 3.21.15. (Closed) Base URL: https://v8.googlecode.com/svn/trunk
Patch Set: Created 7 years, 3 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 2612 matching lines...) Expand 10 before | Expand all | Expand 10 after
2623 static Handle<Object> PreventExtensions(Handle<JSObject> object); 2623 static Handle<Object> PreventExtensions(Handle<JSObject> object);
2624 MUST_USE_RESULT MaybeObject* PreventExtensions(); 2624 MUST_USE_RESULT MaybeObject* PreventExtensions();
2625 2625
2626 // ES5 Object.freeze 2626 // ES5 Object.freeze
2627 MUST_USE_RESULT MaybeObject* Freeze(Isolate* isolate); 2627 MUST_USE_RESULT MaybeObject* Freeze(Isolate* isolate);
2628 2628
2629 2629
2630 // Called the first time an object is observed with ES7 Object.observe. 2630 // Called the first time an object is observed with ES7 Object.observe.
2631 MUST_USE_RESULT MaybeObject* SetObserved(Isolate* isolate); 2631 MUST_USE_RESULT MaybeObject* SetObserved(Isolate* isolate);
2632 2632
2633 // Copy object. 2633 // Copy object
2634 static Handle<JSObject> Copy(Handle<JSObject> object); 2634 MUST_USE_RESULT MaybeObject* DeepCopy(Isolate* isolate);
2635 static Handle<JSObject> DeepCopy(Handle<JSObject> object);
2636 2635
2637 // Dispatched behavior. 2636 // Dispatched behavior.
2638 void JSObjectShortPrint(StringStream* accumulator); 2637 void JSObjectShortPrint(StringStream* accumulator);
2639 DECLARE_PRINTER(JSObject) 2638 DECLARE_PRINTER(JSObject)
2640 DECLARE_VERIFIER(JSObject) 2639 DECLARE_VERIFIER(JSObject)
2641 #ifdef OBJECT_PRINT 2640 #ifdef OBJECT_PRINT
2642 void PrintProperties(FILE* out = stdout); 2641 void PrintProperties(FILE* out = stdout);
2643 void PrintElements(FILE* out = stdout); 2642 void PrintElements(FILE* out = stdout);
2644 void PrintTransitions(FILE* out = stdout); 2643 void PrintTransitions(FILE* out = stdout);
2645 #endif 2644 #endif
(...skipping 2502 matching lines...) Expand 10 before | Expand all | Expand 10 after
5148 kAfterLastCodeAge, 5147 kAfterLastCodeAge,
5149 kLastCodeAge = kAfterLastCodeAge - 1, 5148 kLastCodeAge = kAfterLastCodeAge - 1,
5150 kCodeAgeCount = kAfterLastCodeAge - 1 5149 kCodeAgeCount = kAfterLastCodeAge - 1
5151 }; 5150 };
5152 #undef DECLARE_CODE_AGE_ENUM 5151 #undef DECLARE_CODE_AGE_ENUM
5153 5152
5154 // Code aging. Indicates how many full GCs this code has survived without 5153 // Code aging. Indicates how many full GCs this code has survived without
5155 // being entered through the prologue. Used to determine when it is 5154 // being entered through the prologue. Used to determine when it is
5156 // relatively safe to flush this code object and replace it with the lazy 5155 // relatively safe to flush this code object and replace it with the lazy
5157 // compilation stub. 5156 // compilation stub.
5158 static void MakeCodeAgeSequenceYoung(byte* sequence, Isolate* isolate); 5157 static void MakeCodeAgeSequenceYoung(byte* sequence);
5159 void MakeOlder(MarkingParity); 5158 void MakeOlder(MarkingParity);
5160 static bool IsYoungSequence(byte* sequence); 5159 static bool IsYoungSequence(byte* sequence);
5161 bool IsOld(); 5160 bool IsOld();
5162 int GetAge(); 5161 int GetAge();
5163 5162
5164 void PrintDeoptLocation(int bailout_id); 5163 void PrintDeoptLocation(int bailout_id);
5165 bool CanDeoptAt(Address pc); 5164 bool CanDeoptAt(Address pc);
5166 5165
5167 #ifdef VERIFY_HEAP 5166 #ifdef VERIFY_HEAP
5168 void VerifyEmbeddedMapsDependency(); 5167 void VerifyEmbeddedMapsDependency();
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
5294 5293
5295 private: 5294 private:
5296 friend class RelocIterator; 5295 friend class RelocIterator;
5297 5296
5298 // Code aging 5297 // Code aging
5299 byte* FindCodeAgeSequence(); 5298 byte* FindCodeAgeSequence();
5300 static void GetCodeAgeAndParity(Code* code, Age* age, 5299 static void GetCodeAgeAndParity(Code* code, Age* age,
5301 MarkingParity* parity); 5300 MarkingParity* parity);
5302 static void GetCodeAgeAndParity(byte* sequence, Age* age, 5301 static void GetCodeAgeAndParity(byte* sequence, Age* age,
5303 MarkingParity* parity); 5302 MarkingParity* parity);
5304 static Code* GetCodeAgeStub(Isolate* isolate, Age age, MarkingParity parity); 5303 static Code* GetCodeAgeStub(Age age, MarkingParity parity);
5305 5304
5306 // Code aging -- platform-specific 5305 // Code aging -- platform-specific
5307 static void PatchPlatformCodeAge(Isolate* isolate, 5306 static void PatchPlatformCodeAge(byte* sequence, Age age,
5308 byte* sequence, Age age,
5309 MarkingParity parity); 5307 MarkingParity parity);
5310 5308
5311 DISALLOW_IMPLICIT_CONSTRUCTORS(Code); 5309 DISALLOW_IMPLICIT_CONSTRUCTORS(Code);
5312 }; 5310 };
5313 5311
5314 5312
5315 class CompilationInfo; 5313 class CompilationInfo;
5316 5314
5317 // This class describes the layout of dependent codes array of a map. The 5315 // This class describes the layout of dependent codes array of a map. The
5318 // array is partitioned into several groups of dependent codes. Each group 5316 // array is partitioned into several groups of dependent codes. Each group
(...skipping 4926 matching lines...) Expand 10 before | Expand all | Expand 10 after
10245 } else { 10243 } else {
10246 value &= ~(1 << bit_position); 10244 value &= ~(1 << bit_position);
10247 } 10245 }
10248 return value; 10246 return value;
10249 } 10247 }
10250 }; 10248 };
10251 10249
10252 } } // namespace v8::internal 10250 } } // namespace v8::internal
10253 10251
10254 #endif // V8_OBJECTS_H_ 10252 #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