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

Side by Side Diff: src/runtime.h

Issue 225283005: Return MaybeHandle from SetProperty. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: addressed comments Created 6 years, 8 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/objects.cc ('k') | src/runtime.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 809 matching lines...) Expand 10 before | Expand all | Expand 10 after
820 820
821 // TODO(1240886): Some of the following methods are *not* handle safe, but 821 // TODO(1240886): Some of the following methods are *not* handle safe, but
822 // accept handle arguments. This seems fragile. 822 // accept handle arguments. This seems fragile.
823 823
824 // Support getting the characters in a string using [] notation as 824 // Support getting the characters in a string using [] notation as
825 // in Firefox/SpiderMonkey, Safari and Opera. 825 // in Firefox/SpiderMonkey, Safari and Opera.
826 static Handle<Object> GetElementOrCharAt(Isolate* isolate, 826 static Handle<Object> GetElementOrCharAt(Isolate* isolate,
827 Handle<Object> object, 827 Handle<Object> object,
828 uint32_t index); 828 uint32_t index);
829 829
830 static Handle<Object> SetObjectProperty( 830 MUST_USE_RESULT static MaybeHandle<Object> SetObjectProperty(
831 Isolate* isolate, 831 Isolate* isolate,
832 Handle<Object> object, 832 Handle<Object> object,
833 Handle<Object> key, 833 Handle<Object> key,
834 Handle<Object> value, 834 Handle<Object> value,
835 PropertyAttributes attr, 835 PropertyAttributes attr,
836 StrictMode strict_mode); 836 StrictMode strict_mode);
837 837
838 static Handle<Object> ForceSetObjectProperty( 838 MUST_USE_RESULT static MaybeHandle<Object> ForceSetObjectProperty(
839 Isolate* isolate,
840 Handle<JSObject> object, 839 Handle<JSObject> object,
841 Handle<Object> key, 840 Handle<Object> key,
842 Handle<Object> value, 841 Handle<Object> value,
843 PropertyAttributes attr); 842 PropertyAttributes attr);
844 843
845 MUST_USE_RESULT static MaybeObject* DeleteObjectProperty( 844 MUST_USE_RESULT static MaybeObject* DeleteObjectProperty(
846 Isolate* isolate, 845 Isolate* isolate,
847 Handle<JSReceiver> object, 846 Handle<JSReceiver> object,
848 Handle<Object> key, 847 Handle<Object> key,
849 JSReceiver::DeleteMode mode); 848 JSReceiver::DeleteMode mode);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 ExternalArrayType *type, 891 ExternalArrayType *type,
893 ElementsKind* external_elements_kind, 892 ElementsKind* external_elements_kind,
894 ElementsKind* fixed_elements_kind, 893 ElementsKind* fixed_elements_kind,
895 size_t *element_size); 894 size_t *element_size);
896 895
897 // Helper functions used stubs. 896 // Helper functions used stubs.
898 static void PerformGC(Object* result, Isolate* isolate); 897 static void PerformGC(Object* result, Isolate* isolate);
899 static void OutOfMemory(); 898 static void OutOfMemory();
900 899
901 // Used in runtime.cc and hydrogen's VisitArrayLiteral. 900 // Used in runtime.cc and hydrogen's VisitArrayLiteral.
902 static Handle<Object> CreateArrayLiteralBoilerplate( 901 MUST_USE_RESULT static MaybeHandle<Object> CreateArrayLiteralBoilerplate(
903 Isolate* isolate, 902 Isolate* isolate,
904 Handle<FixedArray> literals, 903 Handle<FixedArray> literals,
905 Handle<FixedArray> elements); 904 Handle<FixedArray> elements);
906 }; 905 };
907 906
908 907
909 //--------------------------------------------------------------------------- 908 //---------------------------------------------------------------------------
910 // Constants used by interface to runtime functions. 909 // Constants used by interface to runtime functions.
911 910
912 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {}; 911 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {};
913 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {}; 912 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {};
914 913
915 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; 914 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {};
916 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; 915 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {};
917 class DeclareGlobalsStrictMode: public BitField<StrictMode, 2, 1> {}; 916 class DeclareGlobalsStrictMode: public BitField<StrictMode, 2, 1> {};
918 917
919 } } // namespace v8::internal 918 } } // namespace v8::internal
920 919
921 #endif // V8_RUNTIME_H_ 920 #endif // V8_RUNTIME_H_
OLDNEW
« no previous file with comments | « src/objects.cc ('k') | src/runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698