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

Side by Side Diff: src/objects.h

Issue 132373011: A64: Synchronize with r17635. (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/mksnapshot.cc ('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 853 matching lines...) Expand 10 before | Expand all | Expand 10 after
864 class AllocationSite; 864 class AllocationSite;
865 class AllocationSiteContext; 865 class AllocationSiteContext;
866 class DictionaryElementsAccessor; 866 class DictionaryElementsAccessor;
867 class ElementsAccessor; 867 class ElementsAccessor;
868 class Failure; 868 class Failure;
869 class FixedArrayBase; 869 class FixedArrayBase;
870 class ObjectVisitor; 870 class ObjectVisitor;
871 class StringStream; 871 class StringStream;
872 class Type; 872 class Type;
873 873
874 struct ValueInfo : public Malloced {
875 ValueInfo() : type(FIRST_TYPE), ptr(NULL), str(NULL), number(0) { }
876 InstanceType type;
877 Object* ptr;
878 const char* str;
879 double number;
880 };
881
882 874
883 // A template-ized version of the IsXXX functions. 875 // A template-ized version of the IsXXX functions.
884 template <class C> inline bool Is(Object* obj); 876 template <class C> inline bool Is(Object* obj);
885 877
886 #ifdef VERIFY_HEAP 878 #ifdef VERIFY_HEAP
887 #define DECLARE_VERIFIER(Name) void Name##Verify(); 879 #define DECLARE_VERIFIER(Name) void Name##Verify();
888 #else 880 #else
889 #define DECLARE_VERIFIER(Name) 881 #define DECLARE_VERIFIER(Name)
890 #endif 882 #endif
891 883
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after
1336 V(kUnexpectedSmi, "Unexpected smi value") \ 1328 V(kUnexpectedSmi, "Unexpected smi value") \
1337 V(kUnexpectedStringFunction, "Unexpected String function") \ 1329 V(kUnexpectedStringFunction, "Unexpected String function") \
1338 V(kUnexpectedStringType, "Unexpected string type") \ 1330 V(kUnexpectedStringType, "Unexpected string type") \
1339 V(kUnexpectedStringWrapperInstanceSize, \ 1331 V(kUnexpectedStringWrapperInstanceSize, \
1340 "Unexpected string wrapper instance size") \ 1332 "Unexpected string wrapper instance size") \
1341 V(kUnexpectedTypeForRegExpDataFixedArrayExpected, \ 1333 V(kUnexpectedTypeForRegExpDataFixedArrayExpected, \
1342 "Unexpected type for RegExp data, FixedArray expected") \ 1334 "Unexpected type for RegExp data, FixedArray expected") \
1343 V(kUnexpectedValue, "Unexpected value") \ 1335 V(kUnexpectedValue, "Unexpected value") \
1344 V(kUnexpectedUnusedPropertiesOfStringWrapper, \ 1336 V(kUnexpectedUnusedPropertiesOfStringWrapper, \
1345 "Unexpected unused properties of string wrapper") \ 1337 "Unexpected unused properties of string wrapper") \
1338 V(kUnimplemented, "unimplemented") \
1346 V(kUninitializedKSmiConstantRegister, "Uninitialized kSmiConstantRegister") \ 1339 V(kUninitializedKSmiConstantRegister, "Uninitialized kSmiConstantRegister") \
1347 V(kUnknown, "unknown") \ 1340 V(kUnknown, "unknown") \
1348 V(kUnsupportedConstCompoundAssignment, \ 1341 V(kUnsupportedConstCompoundAssignment, \
1349 "unsupported const compound assignment") \ 1342 "unsupported const compound assignment") \
1350 V(kUnsupportedCountOperationWithConst, \ 1343 V(kUnsupportedCountOperationWithConst, \
1351 "unsupported count operation with const") \ 1344 "unsupported count operation with const") \
1352 V(kUnsupportedDoubleImmediate, "unsupported double immediate") \ 1345 V(kUnsupportedDoubleImmediate, "unsupported double immediate") \
1353 V(kUnsupportedLetCompoundAssignment, "unsupported let compound assignment") \ 1346 V(kUnsupportedLetCompoundAssignment, "unsupported let compound assignment") \
1354 V(kUnsupportedLookupSlotInDeclaration, \ 1347 V(kUnsupportedLookupSlotInDeclaration, \
1355 "unsupported lookup slot in declaration") \ 1348 "unsupported lookup slot in declaration") \
(...skipping 1053 matching lines...) Expand 10 before | Expand all | Expand 10 after
2409 Handle<Object> value, 2402 Handle<Object> value,
2410 StrictModeFlag strict_mode); 2403 StrictModeFlag strict_mode);
2411 2404
2412 // Empty handle is returned if the element cannot be set to the given value. 2405 // Empty handle is returned if the element cannot be set to the given value.
2413 static Handle<Object> SetElement( 2406 static Handle<Object> SetElement(
2414 Handle<JSObject> object, 2407 Handle<JSObject> object,
2415 uint32_t index, 2408 uint32_t index,
2416 Handle<Object> value, 2409 Handle<Object> value,
2417 PropertyAttributes attr, 2410 PropertyAttributes attr,
2418 StrictModeFlag strict_mode, 2411 StrictModeFlag strict_mode,
2412 bool check_prototype = true,
2419 SetPropertyMode set_mode = SET_PROPERTY); 2413 SetPropertyMode set_mode = SET_PROPERTY);
2420 2414
2421 // A Failure object is returned if GC is needed. 2415 // A Failure object is returned if GC is needed.
2422 MUST_USE_RESULT MaybeObject* SetElement( 2416 MUST_USE_RESULT MaybeObject* SetElement(
2423 uint32_t index, 2417 uint32_t index,
2424 Object* value, 2418 Object* value,
2425 PropertyAttributes attributes, 2419 PropertyAttributes attributes,
2426 StrictModeFlag strict_mode, 2420 StrictModeFlag strict_mode,
2427 bool check_prototype = true, 2421 bool check_prototype = true,
2428 SetPropertyMode set_mode = SET_PROPERTY); 2422 SetPropertyMode set_mode = SET_PROPERTY);
(...skipping 2979 matching lines...) Expand 10 before | Expand all | Expand 10 after
5408 static bool IsYoungSequence(byte* sequence); 5402 static bool IsYoungSequence(byte* sequence);
5409 bool IsOld(); 5403 bool IsOld();
5410 Age GetAge(); 5404 Age GetAge();
5411 // Gets the raw code age, including psuedo code-age values such as 5405 // Gets the raw code age, including psuedo code-age values such as
5412 // kNotExecutedCodeAge and kExecutedOnceCodeAge. 5406 // kNotExecutedCodeAge and kExecutedOnceCodeAge.
5413 Age GetRawAge(); 5407 Age GetRawAge();
5414 static inline Code* GetPreAgedCodeAgeStub(Isolate* isolate) { 5408 static inline Code* GetPreAgedCodeAgeStub(Isolate* isolate) {
5415 return GetCodeAgeStub(isolate, kNotExecutedCodeAge, NO_MARKING_PARITY); 5409 return GetCodeAgeStub(isolate, kNotExecutedCodeAge, NO_MARKING_PARITY);
5416 } 5410 }
5417 5411
5418 void PrintDeoptLocation(int bailout_id); 5412 void PrintDeoptLocation(FILE* out, int bailout_id);
5419 bool CanDeoptAt(Address pc); 5413 bool CanDeoptAt(Address pc);
5420 5414
5421 #ifdef VERIFY_HEAP 5415 #ifdef VERIFY_HEAP
5422 void VerifyEmbeddedObjectsDependency(); 5416 void VerifyEmbeddedObjectsDependency();
5423 #endif 5417 #endif
5424 5418
5425 static bool IsWeakEmbeddedObject(Kind kind, Object* object); 5419 static bool IsWeakEmbeddedObject(Kind kind, Object* object);
5426 5420
5427 // Max loop nesting marker used to postpose OSR. We don't take loop 5421 // Max loop nesting marker used to postpose OSR. We don't take loop
5428 // nesting that is deeper than 5 levels into account. 5422 // nesting that is deeper than 5 levels into account.
(...skipping 3222 matching lines...) Expand 10 before | Expand all | Expand 10 after
8651 static const int kMaxLength = (1 << (32 - 2)) - 1; 8645 static const int kMaxLength = (1 << (32 - 2)) - 1;
8652 8646
8653 // Max length for computing hash. For strings longer than this limit the 8647 // Max length for computing hash. For strings longer than this limit the
8654 // string length is used as the hash value. 8648 // string length is used as the hash value.
8655 static const int kMaxHashCalcLength = 16383; 8649 static const int kMaxHashCalcLength = 16383;
8656 8650
8657 // Limit for truncation in short printing. 8651 // Limit for truncation in short printing.
8658 static const int kMaxShortPrintLength = 1024; 8652 static const int kMaxShortPrintLength = 1024;
8659 8653
8660 // Support for regular expressions. 8654 // Support for regular expressions.
8661 const uc16* GetTwoByteData();
8662 const uc16* GetTwoByteData(unsigned start); 8655 const uc16* GetTwoByteData(unsigned start);
8663 8656
8664 // Helper function for flattening strings. 8657 // Helper function for flattening strings.
8665 template <typename sinkchar> 8658 template <typename sinkchar>
8666 static void WriteToFlat(String* source, 8659 static void WriteToFlat(String* source,
8667 sinkchar* sink, 8660 sinkchar* sink,
8668 int from, 8661 int from,
8669 int to); 8662 int to);
8670 8663
8671 // The return value may point to the first aligned word containing the 8664 // The return value may point to the first aligned word containing the
(...skipping 1852 matching lines...) Expand 10 before | Expand all | Expand 10 after
10524 } else { 10517 } else {
10525 value &= ~(1 << bit_position); 10518 value &= ~(1 << bit_position);
10526 } 10519 }
10527 return value; 10520 return value;
10528 } 10521 }
10529 }; 10522 };
10530 10523
10531 } } // namespace v8::internal 10524 } } // namespace v8::internal
10532 10525
10533 #endif // V8_OBJECTS_H_ 10526 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/mksnapshot.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698