OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 | 68 |
69 enum DescriptorId { | 69 enum DescriptorId { |
70 #define ACCESSOR_DESCRIPTOR_DECLARATION(name) \ | 70 #define ACCESSOR_DESCRIPTOR_DECLARATION(name) \ |
71 k##name, | 71 k##name, |
72 ACCESSOR_DESCRIPTOR_LIST(ACCESSOR_DESCRIPTOR_DECLARATION) | 72 ACCESSOR_DESCRIPTOR_LIST(ACCESSOR_DESCRIPTOR_DECLARATION) |
73 #undef ACCESSOR_DESCRIPTOR_DECLARATION | 73 #undef ACCESSOR_DESCRIPTOR_DECLARATION |
74 descriptorCount | 74 descriptorCount |
75 }; | 75 }; |
76 | 76 |
77 // Accessor functions called directly from the runtime system. | 77 // Accessor functions called directly from the runtime system. |
78 MUST_USE_RESULT static Object* FunctionGetPrototype(Object* object, void*); | 78 MUST_USE_RESULT static MaybeObject* FunctionGetPrototype(Object* object, |
79 MUST_USE_RESULT static Object* FunctionSetPrototype(JSObject* object, | 79 void*); |
80 Object* value, | 80 MUST_USE_RESULT static MaybeObject* FunctionSetPrototype(JSObject* object, |
81 void*); | 81 Object* value, |
| 82 void*); |
82 private: | 83 private: |
83 // Accessor functions only used through the descriptor. | 84 // Accessor functions only used through the descriptor. |
84 static Object* FunctionGetLength(Object* object, void*); | 85 static MaybeObject* FunctionGetLength(Object* object, void*); |
85 static Object* FunctionGetName(Object* object, void*); | 86 static MaybeObject* FunctionGetName(Object* object, void*); |
86 static Object* FunctionGetArguments(Object* object, void*); | 87 static MaybeObject* FunctionGetArguments(Object* object, void*); |
87 static Object* FunctionGetCaller(Object* object, void*); | 88 static MaybeObject* FunctionGetCaller(Object* object, void*); |
88 static Object* ArraySetLength(JSObject* object, Object* value, void*); | 89 MUST_USE_RESULT static MaybeObject* ArraySetLength(JSObject* object, |
89 static Object* ArrayGetLength(Object* object, void*); | 90 Object* value, void*); |
90 static Object* StringGetLength(Object* object, void*); | 91 static MaybeObject* ArrayGetLength(Object* object, void*); |
91 static Object* ScriptGetName(Object* object, void*); | 92 static MaybeObject* StringGetLength(Object* object, void*); |
92 static Object* ScriptGetId(Object* object, void*); | 93 static MaybeObject* ScriptGetName(Object* object, void*); |
93 static Object* ScriptGetSource(Object* object, void*); | 94 static MaybeObject* ScriptGetId(Object* object, void*); |
94 static Object* ScriptGetLineOffset(Object* object, void*); | 95 static MaybeObject* ScriptGetSource(Object* object, void*); |
95 static Object* ScriptGetColumnOffset(Object* object, void*); | 96 static MaybeObject* ScriptGetLineOffset(Object* object, void*); |
96 static Object* ScriptGetData(Object* object, void*); | 97 static MaybeObject* ScriptGetColumnOffset(Object* object, void*); |
97 static Object* ScriptGetType(Object* object, void*); | 98 static MaybeObject* ScriptGetData(Object* object, void*); |
98 static Object* ScriptGetCompilationType(Object* object, void*); | 99 static MaybeObject* ScriptGetType(Object* object, void*); |
99 static Object* ScriptGetLineEnds(Object* object, void*); | 100 static MaybeObject* ScriptGetCompilationType(Object* object, void*); |
100 static Object* ScriptGetContextData(Object* object, void*); | 101 static MaybeObject* ScriptGetLineEnds(Object* object, void*); |
101 static Object* ScriptGetEvalFromScript(Object* object, void*); | 102 static MaybeObject* ScriptGetContextData(Object* object, void*); |
102 static Object* ScriptGetEvalFromScriptPosition(Object* object, void*); | 103 static MaybeObject* ScriptGetEvalFromScript(Object* object, void*); |
103 static Object* ScriptGetEvalFromFunctionName(Object* object, void*); | 104 static MaybeObject* ScriptGetEvalFromScriptPosition(Object* object, void*); |
104 static Object* ObjectGetPrototype(Object* receiver, void*); | 105 static MaybeObject* ScriptGetEvalFromFunctionName(Object* object, void*); |
105 static Object* ObjectSetPrototype(JSObject* receiver, Object* value, void*); | 106 static MaybeObject* ObjectGetPrototype(Object* receiver, void*); |
| 107 static MaybeObject* ObjectSetPrototype(JSObject* receiver, |
| 108 Object* value, |
| 109 void*); |
106 | 110 |
107 // Helper functions. | 111 // Helper functions. |
108 static Object* FlattenNumber(Object* value); | 112 static Object* FlattenNumber(Object* value); |
109 static Object* IllegalSetter(JSObject*, Object*, void*); | 113 static MaybeObject* IllegalSetter(JSObject*, Object*, void*); |
110 static Object* IllegalGetAccessor(Object* object, void*); | 114 static Object* IllegalGetAccessor(Object* object, void*); |
111 static Object* ReadOnlySetAccessor(JSObject*, Object* value, void*); | 115 static MaybeObject* ReadOnlySetAccessor(JSObject*, Object* value, void*); |
112 }; | 116 }; |
113 | 117 |
114 } } // namespace v8::internal | 118 } } // namespace v8::internal |
115 | 119 |
116 #endif // V8_ACCESSORS_H_ | 120 #endif // V8_ACCESSORS_H_ |
OLD | NEW |