OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include "allocation.h" | 8 #include "allocation.h" |
9 #include "assert-scope.h" | 9 #include "assert-scope.h" |
10 #include "builtins.h" | 10 #include "builtins.h" |
(...skipping 7578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7589 inline bool has_instance_prototype(); | 7589 inline bool has_instance_prototype(); |
7590 inline Object* prototype(); | 7590 inline Object* prototype(); |
7591 inline Object* instance_prototype(); | 7591 inline Object* instance_prototype(); |
7592 static void SetPrototype(Handle<JSFunction> function, | 7592 static void SetPrototype(Handle<JSFunction> function, |
7593 Handle<Object> value); | 7593 Handle<Object> value); |
7594 static void SetInstancePrototype(Handle<JSFunction> function, | 7594 static void SetInstancePrototype(Handle<JSFunction> function, |
7595 Handle<Object> value); | 7595 Handle<Object> value); |
7596 | 7596 |
7597 // After prototype is removed, it will not be created when accessed, and | 7597 // After prototype is removed, it will not be created when accessed, and |
7598 // [[Construct]] from this function will not be allowed. | 7598 // [[Construct]] from this function will not be allowed. |
7599 void RemovePrototype(); | 7599 bool RemovePrototype(); |
7600 inline bool should_have_prototype(); | 7600 inline bool should_have_prototype(); |
7601 | 7601 |
7602 // Accessor for this function's initial map's [[class]] | 7602 // Accessor for this function's initial map's [[class]] |
7603 // property. This is primarily used by ECMA native functions. This | 7603 // property. This is primarily used by ECMA native functions. This |
7604 // method sets the class_name field of this function's initial map | 7604 // method sets the class_name field of this function's initial map |
7605 // to a given value. It creates an initial map if this function does | 7605 // to a given value. It creates an initial map if this function does |
7606 // not have one. Note that this method does not copy the initial map | 7606 // not have one. Note that this method does not copy the initial map |
7607 // if it has one already, but simply replaces it with the new value. | 7607 // if it has one already, but simply replaces it with the new value. |
7608 // Instances created afterwards will have a map whose [[class]] is | 7608 // Instances created afterwards will have a map whose [[class]] is |
7609 // set to 'value', but there is no guarantees on instances created | 7609 // set to 'value', but there is no guarantees on instances created |
(...skipping 3473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11083 } else { | 11083 } else { |
11084 value &= ~(1 << bit_position); | 11084 value &= ~(1 << bit_position); |
11085 } | 11085 } |
11086 return value; | 11086 return value; |
11087 } | 11087 } |
11088 }; | 11088 }; |
11089 | 11089 |
11090 } } // namespace v8::internal | 11090 } } // namespace v8::internal |
11091 | 11091 |
11092 #endif // V8_OBJECTS_H_ | 11092 #endif // V8_OBJECTS_H_ |
OLD | NEW |