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

Side by Side Diff: src/objects.h

Issue 254593002: Reland r20932: "*NumberDictionary::AtNumberPut() handlified." (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: The fix 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
« no previous file with comments | « src/factory.cc ('k') | src/objects.cc » ('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 4175 matching lines...) Expand 10 before | Expand all | Expand 10 after
4186 : public Dictionary<SeededNumberDictionary, 4186 : public Dictionary<SeededNumberDictionary,
4187 SeededNumberDictionaryShape, 4187 SeededNumberDictionaryShape,
4188 uint32_t> { 4188 uint32_t> {
4189 public: 4189 public:
4190 static SeededNumberDictionary* cast(Object* obj) { 4190 static SeededNumberDictionary* cast(Object* obj) {
4191 ASSERT(obj->IsDictionary()); 4191 ASSERT(obj->IsDictionary());
4192 return reinterpret_cast<SeededNumberDictionary*>(obj); 4192 return reinterpret_cast<SeededNumberDictionary*>(obj);
4193 } 4193 }
4194 4194
4195 // Type specific at put (default NONE attributes is used when adding). 4195 // Type specific at put (default NONE attributes is used when adding).
4196 MUST_USE_RESULT MaybeObject* AtNumberPut(uint32_t key, Object* value); 4196 MUST_USE_RESULT static Handle<SeededNumberDictionary> AtNumberPut(
4197 Handle<SeededNumberDictionary> dictionary,
4198 uint32_t key,
4199 Handle<Object> value);
4197 MUST_USE_RESULT static Handle<SeededNumberDictionary> AddNumberEntry( 4200 MUST_USE_RESULT static Handle<SeededNumberDictionary> AddNumberEntry(
4198 Handle<SeededNumberDictionary> dictionary, 4201 Handle<SeededNumberDictionary> dictionary,
4199 uint32_t key, 4202 uint32_t key,
4200 Handle<Object> value, 4203 Handle<Object> value,
4201 PropertyDetails details); 4204 PropertyDetails details);
4202 4205
4203 // Set an existing entry or add a new one if needed. 4206 // Set an existing entry or add a new one if needed.
4204 // Return the updated dictionary. 4207 // Return the updated dictionary.
4205 MUST_USE_RESULT static Handle<SeededNumberDictionary> Set( 4208 MUST_USE_RESULT static Handle<SeededNumberDictionary> Set(
4206 Handle<SeededNumberDictionary> dictionary, 4209 Handle<SeededNumberDictionary> dictionary,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
4238 : public Dictionary<UnseededNumberDictionary, 4241 : public Dictionary<UnseededNumberDictionary,
4239 UnseededNumberDictionaryShape, 4242 UnseededNumberDictionaryShape,
4240 uint32_t> { 4243 uint32_t> {
4241 public: 4244 public:
4242 static UnseededNumberDictionary* cast(Object* obj) { 4245 static UnseededNumberDictionary* cast(Object* obj) {
4243 ASSERT(obj->IsDictionary()); 4246 ASSERT(obj->IsDictionary());
4244 return reinterpret_cast<UnseededNumberDictionary*>(obj); 4247 return reinterpret_cast<UnseededNumberDictionary*>(obj);
4245 } 4248 }
4246 4249
4247 // Type specific at put (default NONE attributes is used when adding). 4250 // Type specific at put (default NONE attributes is used when adding).
4248 MUST_USE_RESULT MaybeObject* AtNumberPut(uint32_t key, Object* value); 4251 MUST_USE_RESULT static Handle<UnseededNumberDictionary> AtNumberPut(
4252 Handle<UnseededNumberDictionary> dictionary,
4253 uint32_t key,
4254 Handle<Object> value);
4249 MUST_USE_RESULT static Handle<UnseededNumberDictionary> AddNumberEntry( 4255 MUST_USE_RESULT static Handle<UnseededNumberDictionary> AddNumberEntry(
4250 Handle<UnseededNumberDictionary> dictionary, 4256 Handle<UnseededNumberDictionary> dictionary,
4251 uint32_t key, 4257 uint32_t key,
4252 Handle<Object> value); 4258 Handle<Object> value);
4253 4259
4254 // Set an existing entry or add a new one if needed. 4260 // Set an existing entry or add a new one if needed.
4255 // Return the updated dictionary. 4261 // Return the updated dictionary.
4256 MUST_USE_RESULT static Handle<UnseededNumberDictionary> Set( 4262 MUST_USE_RESULT static Handle<UnseededNumberDictionary> Set(
4257 Handle<UnseededNumberDictionary> dictionary, 4263 Handle<UnseededNumberDictionary> dictionary,
4258 uint32_t key, 4264 uint32_t key,
(...skipping 7018 matching lines...) Expand 10 before | Expand all | Expand 10 after
11277 } else { 11283 } else {
11278 value &= ~(1 << bit_position); 11284 value &= ~(1 << bit_position);
11279 } 11285 }
11280 return value; 11286 return value;
11281 } 11287 }
11282 }; 11288 };
11283 11289
11284 } } // namespace v8::internal 11290 } } // namespace v8::internal
11285 11291
11286 #endif // V8_OBJECTS_H_ 11292 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/factory.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698