OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 <iosfwd> | 8 #include <iosfwd> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 4274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4285 | 4285 |
4286 // Lookup support for serialized scope info. Returns the | 4286 // Lookup support for serialized scope info. Returns the |
4287 // parameter index for a given parameter name if the parameter is present; | 4287 // parameter index for a given parameter name if the parameter is present; |
4288 // otherwise returns a value < 0. The name must be an internalized string. | 4288 // otherwise returns a value < 0. The name must be an internalized string. |
4289 int ParameterIndex(String* name); | 4289 int ParameterIndex(String* name); |
4290 | 4290 |
4291 // Lookup support for serialized scope info. Returns the function context | 4291 // Lookup support for serialized scope info. Returns the function context |
4292 // slot index if the function name is present and context-allocated (named | 4292 // slot index if the function name is present and context-allocated (named |
4293 // function expressions, only), otherwise returns a value < 0. The name | 4293 // function expressions, only), otherwise returns a value < 0. The name |
4294 // must be an internalized string. | 4294 // must be an internalized string. |
4295 int FunctionContextSlotIndex(String* name, VariableMode* mode); | 4295 int FunctionContextSlotIndex(String* name); |
4296 | 4296 |
4297 // Lookup support for serialized scope info. Returns the receiver context | 4297 // Lookup support for serialized scope info. Returns the receiver context |
4298 // slot index if scope has a "this" binding, and the binding is | 4298 // slot index if scope has a "this" binding, and the binding is |
4299 // context-allocated. Otherwise returns a value < 0. | 4299 // context-allocated. Otherwise returns a value < 0. |
4300 int ReceiverContextSlotIndex(); | 4300 int ReceiverContextSlotIndex(); |
4301 | 4301 |
4302 FunctionKind function_kind(); | 4302 FunctionKind function_kind(); |
4303 | 4303 |
4304 static Handle<ScopeInfo> Create(Isolate* isolate, Zone* zone, Scope* scope); | 4304 static Handle<ScopeInfo> Create(Isolate* isolate, Zone* zone, Scope* scope); |
4305 static Handle<ScopeInfo> CreateGlobalThisBinding(Isolate* isolate); | 4305 static Handle<ScopeInfo> CreateGlobalThisBinding(Isolate* isolate); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4400 : public BitField<LanguageMode, CallsEvalField::kNext, 2> {}; | 4400 : public BitField<LanguageMode, CallsEvalField::kNext, 2> {}; |
4401 class DeclarationScopeField | 4401 class DeclarationScopeField |
4402 : public BitField<bool, LanguageModeField::kNext, 1> {}; | 4402 : public BitField<bool, LanguageModeField::kNext, 1> {}; |
4403 class ReceiverVariableField | 4403 class ReceiverVariableField |
4404 : public BitField<VariableAllocationInfo, DeclarationScopeField::kNext, | 4404 : public BitField<VariableAllocationInfo, DeclarationScopeField::kNext, |
4405 2> {}; | 4405 2> {}; |
4406 class HasNewTargetField | 4406 class HasNewTargetField |
4407 : public BitField<bool, ReceiverVariableField::kNext, 1> {}; | 4407 : public BitField<bool, ReceiverVariableField::kNext, 1> {}; |
4408 class FunctionVariableField | 4408 class FunctionVariableField |
4409 : public BitField<VariableAllocationInfo, HasNewTargetField::kNext, 2> {}; | 4409 : public BitField<VariableAllocationInfo, HasNewTargetField::kNext, 2> {}; |
4410 class FunctionVariableMode | 4410 class AsmModuleField |
4411 : public BitField<VariableMode, FunctionVariableField::kNext, 3> {}; | 4411 : public BitField<bool, FunctionVariableField::kNext, 1> {}; |
4412 class AsmModuleField : public BitField<bool, FunctionVariableMode::kNext, 1> { | |
4413 }; | |
4414 class AsmFunctionField : public BitField<bool, AsmModuleField::kNext, 1> {}; | 4412 class AsmFunctionField : public BitField<bool, AsmModuleField::kNext, 1> {}; |
4415 class HasSimpleParametersField | 4413 class HasSimpleParametersField |
4416 : public BitField<bool, AsmFunctionField::kNext, 1> {}; | 4414 : public BitField<bool, AsmFunctionField::kNext, 1> {}; |
4417 class FunctionKindField | 4415 class FunctionKindField |
4418 : public BitField<FunctionKind, HasSimpleParametersField::kNext, 9> {}; | 4416 : public BitField<FunctionKind, HasSimpleParametersField::kNext, 9> {}; |
4419 | 4417 |
4420 // BitFields representing the encoded information for context locals in the | 4418 // BitFields representing the encoded information for context locals in the |
4421 // ContextLocalInfoEntries part. | 4419 // ContextLocalInfoEntries part. |
4422 class ContextLocalMode: public BitField<VariableMode, 0, 3> {}; | 4420 class ContextLocalMode: public BitField<VariableMode, 0, 3> {}; |
4423 class ContextLocalInitFlag: public BitField<InitializationFlag, 3, 1> {}; | 4421 class ContextLocalInitFlag: public BitField<InitializationFlag, 3, 1> {}; |
(...skipping 6650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11074 } | 11072 } |
11075 return value; | 11073 return value; |
11076 } | 11074 } |
11077 }; | 11075 }; |
11078 | 11076 |
11079 | 11077 |
11080 } // NOLINT, false-positive due to second-order macros. | 11078 } // NOLINT, false-positive due to second-order macros. |
11081 } // NOLINT, false-positive due to second-order macros. | 11079 } // NOLINT, false-positive due to second-order macros. |
11082 | 11080 |
11083 #endif // V8_OBJECTS_H_ | 11081 #endif // V8_OBJECTS_H_ |
OLD | NEW |