OLD | NEW |
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 3541 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3552 // parameter index for a given parameter name if the parameter is present; | 3552 // parameter index for a given parameter name if the parameter is present; |
3553 // otherwise returns a value < 0. The name must be a symbol (canonicalized). | 3553 // otherwise returns a value < 0. The name must be a symbol (canonicalized). |
3554 int ParameterIndex(String* name); | 3554 int ParameterIndex(String* name); |
3555 | 3555 |
3556 // Lookup support for serialized scope info. Returns the function context | 3556 // Lookup support for serialized scope info. Returns the function context |
3557 // slot index if the function name is present and context-allocated (named | 3557 // slot index if the function name is present and context-allocated (named |
3558 // function expressions, only), otherwise returns a value < 0. The name | 3558 // function expressions, only), otherwise returns a value < 0. The name |
3559 // must be a symbol (canonicalized). | 3559 // must be a symbol (canonicalized). |
3560 int FunctionContextSlotIndex(String* name, VariableMode* mode); | 3560 int FunctionContextSlotIndex(String* name, VariableMode* mode); |
3561 | 3561 |
| 3562 |
| 3563 // Copies all the context locals into an object used to materialize a scope. |
| 3564 bool CopyContextLocalsToScopeObject(Isolate* isolate, |
| 3565 Handle<Context> context, |
| 3566 Handle<JSObject> scope_object); |
| 3567 |
| 3568 |
3562 static Handle<ScopeInfo> Create(Scope* scope, Zone* zone); | 3569 static Handle<ScopeInfo> Create(Scope* scope, Zone* zone); |
3563 | 3570 |
3564 // Serializes empty scope info. | 3571 // Serializes empty scope info. |
3565 static ScopeInfo* Empty(); | 3572 static ScopeInfo* Empty(); |
3566 | 3573 |
3567 #ifdef DEBUG | 3574 #ifdef DEBUG |
3568 void Print(); | 3575 void Print(); |
3569 #endif | 3576 #endif |
3570 | 3577 |
3571 // The layout of the static part of a ScopeInfo is as follows. Each entry is | 3578 // The layout of the static part of a ScopeInfo is as follows. Each entry is |
(...skipping 5434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9006 } else { | 9013 } else { |
9007 value &= ~(1 << bit_position); | 9014 value &= ~(1 << bit_position); |
9008 } | 9015 } |
9009 return value; | 9016 return value; |
9010 } | 9017 } |
9011 }; | 9018 }; |
9012 | 9019 |
9013 } } // namespace v8::internal | 9020 } } // namespace v8::internal |
9014 | 9021 |
9015 #endif // V8_OBJECTS_H_ | 9022 #endif // V8_OBJECTS_H_ |
OLD | NEW |