Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(734)

Side by Side Diff: src/handles.cc

Issue 238973003: Handlify Object::GetPrototype and (most) callers. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Minor Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 Handle<JSObject> arguments_boilerplate = Handle<JSObject>( 426 Handle<JSObject> arguments_boilerplate = Handle<JSObject>(
427 isolate->context()->native_context()->sloppy_arguments_boilerplate(), 427 isolate->context()->native_context()->sloppy_arguments_boilerplate(),
428 isolate); 428 isolate);
429 Handle<JSFunction> arguments_function = Handle<JSFunction>( 429 Handle<JSFunction> arguments_function = Handle<JSFunction>(
430 JSFunction::cast(arguments_boilerplate->map()->constructor()), 430 JSFunction::cast(arguments_boilerplate->map()->constructor()),
431 isolate); 431 isolate);
432 432
433 // Only collect keys if access is permitted. 433 // Only collect keys if access is permitted.
434 for (Handle<Object> p = object; 434 for (Handle<Object> p = object;
435 *p != isolate->heap()->null_value(); 435 *p != isolate->heap()->null_value();
436 p = Handle<Object>(p->GetPrototype(isolate), isolate)) { 436 p = Object::GetPrototype(isolate, p)) {
437 if (p->IsJSProxy()) { 437 if (p->IsJSProxy()) {
438 Handle<JSProxy> proxy(JSProxy::cast(*p), isolate); 438 Handle<JSProxy> proxy(JSProxy::cast(*p), isolate);
439 Handle<Object> args[] = { proxy }; 439 Handle<Object> args[] = { proxy };
440 Handle<Object> names; 440 Handle<Object> names;
441 ASSIGN_RETURN_ON_EXCEPTION( 441 ASSIGN_RETURN_ON_EXCEPTION(
442 isolate, names, 442 isolate, names,
443 Execution::Call(isolate, 443 Execution::Call(isolate,
444 isolate->proxy_enumerate(), 444 isolate->proxy_enumerate(),
445 object, 445 object,
446 ARRAY_SIZE(args), 446 ARRAY_SIZE(args),
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 Handle<Code> code) { 694 Handle<Code> code) {
695 heap->EnsureWeakObjectToCodeTable(); 695 heap->EnsureWeakObjectToCodeTable();
696 Handle<DependentCode> dep(heap->LookupWeakObjectToCodeDependency(*object)); 696 Handle<DependentCode> dep(heap->LookupWeakObjectToCodeDependency(*object));
697 dep = DependentCode::Insert(dep, DependentCode::kWeakCodeGroup, code); 697 dep = DependentCode::Insert(dep, DependentCode::kWeakCodeGroup, code);
698 CALL_HEAP_FUNCTION_VOID(heap->isolate(), 698 CALL_HEAP_FUNCTION_VOID(heap->isolate(),
699 heap->AddWeakObjectToCodeDependency(*object, *dep)); 699 heap->AddWeakObjectToCodeDependency(*object, *dep));
700 } 700 }
701 701
702 702
703 } } // namespace v8::internal 703 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698