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

Unified Diff: src/objects.h

Issue 1168093002: [strong] Implement strong mode restrictions on property access (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix arm64 port Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index 19e92df0f189d9eca4804676c4c692cb5487f2f8..a04c41284a90920b7f43af5edfcead13954bc554 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -1155,7 +1155,8 @@ class Object {
MUST_USE_RESULT static inline MaybeHandle<Smi> ToSmi(Isolate* isolate,
Handle<Object> object);
- MUST_USE_RESULT static MaybeHandle<Object> GetProperty(LookupIterator* it);
+ MUST_USE_RESULT static MaybeHandle<Object> GetProperty(
+ LookupIterator* it, Strength strength = Strength::WEAK);
// Implementation of [[Put]], ECMA-262 5th edition, section 8.12.5.
MUST_USE_RESULT static MaybeHandle<Object> SetProperty(
@@ -1171,10 +1172,15 @@ class Object {
LookupIterator* it, Handle<Object> value, LanguageMode language_mode,
StoreFromKeyed store_mode);
+ MUST_USE_RESULT static MaybeHandle<Object> ReadAbsentProperty(
+ LookupIterator* it, Strength strength);
+ MUST_USE_RESULT static MaybeHandle<Object> ReadAbsentProperty(
+ Isolate* isolate, Handle<Object> receiver, Handle<Object> name,
+ Strength strength);
MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty(
LookupIterator* it, Handle<Object> value, LanguageMode language_mode);
MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty(
- Isolate* isolate, Handle<Object> reciever, Handle<Object> name,
+ Isolate* isolate, Handle<Object> receiver, Handle<Object> name,
Handle<Object> value, LanguageMode language_mode);
MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyElement(
Isolate* isolate, Handle<Object> receiver, uint32_t index,
@@ -1188,16 +1194,17 @@ class Object {
LookupIterator* it, Handle<Object> value, PropertyAttributes attributes,
LanguageMode language_mode, StoreFromKeyed store_mode);
MUST_USE_RESULT static inline MaybeHandle<Object> GetPropertyOrElement(
- Handle<Object> object, Handle<Name> name);
+ Handle<Object> object, Handle<Name> name,
+ Strength strength = Strength::WEAK);
MUST_USE_RESULT static inline MaybeHandle<Object> GetProperty(
- Isolate* isolate,
- Handle<Object> object,
- const char* key);
+ Isolate* isolate, Handle<Object> object, const char* key,
+ Strength strength = Strength::WEAK);
MUST_USE_RESULT static inline MaybeHandle<Object> GetProperty(
- Handle<Object> object, Handle<Name> name);
+ Handle<Object> object, Handle<Name> name,
+ Strength strength = Strength::WEAK);
MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithAccessor(
- LookupIterator* it);
+ LookupIterator* it, Strength strength);
MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithAccessor(
Handle<Object> receiver, Handle<Name> name, Handle<Object> value,
Handle<JSObject> holder, Handle<Object> structure,
@@ -1212,9 +1219,8 @@ class Object {
Handle<Object> value);
MUST_USE_RESULT static inline MaybeHandle<Object> GetElement(
- Isolate* isolate,
- Handle<Object> object,
- uint32_t index);
+ Isolate* isolate, Handle<Object> object, uint32_t index,
+ Strength strength = Strength::WEAK);
MUST_USE_RESULT static MaybeHandle<Object> SetElementWithReceiver(
Isolate* isolate, Handle<Object> object, Handle<Object> receiver,
@@ -2324,7 +2330,7 @@ class JSObject: public JSReceiver {
// Used from Object::GetProperty().
MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithFailedAccessCheck(
- LookupIterator* it);
+ LookupIterator* it, Strength strength);
MUST_USE_RESULT static MaybeHandle<Object> SetElementWithCallback(
Handle<Object> object, Handle<Object> structure, uint32_t index,

Powered by Google App Engine
This is Rietveld 408576698