| Index: src/ast.cc
|
| ===================================================================
|
| --- src/ast.cc (revision 7267)
|
| +++ src/ast.cc (working copy)
|
| @@ -36,13 +36,13 @@
|
| namespace v8 {
|
| namespace internal {
|
|
|
| -unsigned AstNode::current_id_ = 0;
|
| -unsigned AstNode::count_ = 0;
|
| -VariableProxySentinel VariableProxySentinel::this_proxy_(true);
|
| -VariableProxySentinel VariableProxySentinel::identifier_proxy_(false);
|
| -ValidLeftHandSideSentinel ValidLeftHandSideSentinel::instance_;
|
| -Property Property::this_property_(VariableProxySentinel::this_proxy(), NULL, 0);
|
| -Call Call::sentinel_(NULL, NULL, 0);
|
| +AstSentinels::AstSentinels()
|
| + : this_proxy_(true),
|
| + identifier_proxy_(false),
|
| + valid_left_hand_side_sentinel_(),
|
| + this_property_(&this_proxy_, NULL, 0),
|
| + call_sentinel_(NULL, NULL, 0) {
|
| +}
|
|
|
|
|
| // ----------------------------------------------------------------------------
|
| @@ -170,7 +170,7 @@
|
| key_ = key;
|
| value_ = value;
|
| Object* k = *key->handle();
|
| - if (k->IsSymbol() && Heap::Proto_symbol()->Equals(String::cast(k))) {
|
| + if (k->IsSymbol() && HEAP->Proto_symbol()->Equals(String::cast(k))) {
|
| kind_ = PROTOTYPE;
|
| } else if (value_->AsMaterializedLiteral() != NULL) {
|
| kind_ = MATERIALIZED_LITERAL;
|
| @@ -249,10 +249,11 @@
|
| uint32_t hash;
|
| HashMap* table;
|
| void* key;
|
| + Factory* factory = Isolate::Current()->factory();
|
| if (handle->IsSymbol()) {
|
| Handle<String> name(String::cast(*handle));
|
| if (name->AsArrayIndex(&hash)) {
|
| - Handle<Object> key_handle = Factory::NewNumberFromUint(hash);
|
| + Handle<Object> key_handle = factory->NewNumberFromUint(hash);
|
| key = key_handle.location();
|
| table = &elements;
|
| } else {
|
| @@ -269,7 +270,7 @@
|
| char arr[100];
|
| Vector<char> buffer(arr, ARRAY_SIZE(arr));
|
| const char* str = DoubleToCString(num, buffer);
|
| - Handle<String> name = Factory::NewStringFromAscii(CStrVector(str));
|
| + Handle<String> name = factory->NewStringFromAscii(CStrVector(str));
|
| key = name.location();
|
| hash = name->Hash();
|
| table = &properties;
|
| @@ -634,7 +635,7 @@
|
| Handle<JSFunction> candidate(JSFunction::cast(cell_->value()));
|
| // If the function is in new space we assume it's more likely to
|
| // change and thus prefer the general IC code.
|
| - if (!Heap::InNewSpace(*candidate) &&
|
| + if (!HEAP->InNewSpace(*candidate) &&
|
| CanCallWithoutIC(candidate, arguments()->length())) {
|
| target_ = candidate;
|
| return true;
|
| @@ -699,7 +700,7 @@
|
|
|
| bool AstVisitor::CheckStackOverflow() {
|
| if (stack_overflow_) return true;
|
| - StackLimitCheck check;
|
| + StackLimitCheck check(Isolate::Current());
|
| if (!check.HasOverflowed()) return false;
|
| return (stack_overflow_ = true);
|
| }
|
|
|