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

Side by Side Diff: src/objects.h

Issue 170343002: Reland "Allow ICs to be generated for own global proxy." (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix setting through global proxy without interceptor setter. Created 6 years, 10 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
« no previous file with comments | « src/isolate.cc ('k') | src/objects-inl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2342 matching lines...) Expand 10 before | Expand all | Expand 10 after
2353 PropertyAttributes* attributes); 2353 PropertyAttributes* attributes);
2354 MUST_USE_RESULT MaybeObject* GetLocalPropertyPostInterceptor( 2354 MUST_USE_RESULT MaybeObject* GetLocalPropertyPostInterceptor(
2355 Object* receiver, 2355 Object* receiver,
2356 Name* name, 2356 Name* name,
2357 PropertyAttributes* attributes); 2357 PropertyAttributes* attributes);
2358 2358
2359 // Returns true if this is an instance of an api function and has 2359 // Returns true if this is an instance of an api function and has
2360 // been modified since it was created. May give false positives. 2360 // been modified since it was created. May give false positives.
2361 bool IsDirty(); 2361 bool IsDirty();
2362 2362
2363 // If the receiver is a JSGlobalProxy this method will return its prototype,
2364 // otherwise the result is the receiver itself.
2365 inline Object* BypassGlobalProxy();
2366
2367 // Accessors for hidden properties object. 2363 // Accessors for hidden properties object.
2368 // 2364 //
2369 // Hidden properties are not local properties of the object itself. 2365 // Hidden properties are not local properties of the object itself.
2370 // Instead they are stored in an auxiliary structure kept as a local 2366 // Instead they are stored in an auxiliary structure kept as a local
2371 // property with a special name Heap::hidden_string(). But if the 2367 // property with a special name Heap::hidden_string(). But if the
2372 // receiver is a JSGlobalProxy then the auxiliary object is a property 2368 // receiver is a JSGlobalProxy then the auxiliary object is a property
2373 // of its prototype, and if it's a detached proxy, then you can't have 2369 // of its prototype, and if it's a detached proxy, then you can't have
2374 // hidden properties. 2370 // hidden properties.
2375 2371
2376 // Sets a hidden property on this object. Returns this object if successful, 2372 // Sets a hidden property on this object. Returns this object if successful,
(...skipping 8385 matching lines...) Expand 10 before | Expand all | Expand 10 after
10762 } else { 10758 } else {
10763 value &= ~(1 << bit_position); 10759 value &= ~(1 << bit_position);
10764 } 10760 }
10765 return value; 10761 return value;
10766 } 10762 }
10767 }; 10763 };
10768 10764
10769 } } // namespace v8::internal 10765 } } // namespace v8::internal
10770 10766
10771 #endif // V8_OBJECTS_H_ 10767 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/isolate.cc ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698