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

Side by Side Diff: src/objects.h

Issue 300283002: Introduce FieldIndex to unify and abstract property/field offset (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix nit Created 6 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 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 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_OBJECTS_H_ 5 #ifndef V8_OBJECTS_H_
6 #define V8_OBJECTS_H_ 6 #define V8_OBJECTS_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/assert-scope.h" 9 #include "src/assert-scope.h"
10 #include "src/builtins.h" 10 #include "src/builtins.h"
11 #include "src/elements-kind.h" 11 #include "src/elements-kind.h"
12 #include "src/field-index.h"
12 #include "src/flags.h" 13 #include "src/flags.h"
13 #include "src/list.h" 14 #include "src/list.h"
14 #include "src/property-details.h" 15 #include "src/property-details.h"
15 #include "src/smart-pointers.h" 16 #include "src/smart-pointers.h"
16 #include "src/unicode-inl.h" 17 #include "src/unicode-inl.h"
17 #if V8_TARGET_ARCH_ARM64 18 #if V8_TARGET_ARCH_ARM64
18 #include "src/arm64/constants-arm64.h" 19 #include "src/arm64/constants-arm64.h"
19 #elif V8_TARGET_ARCH_ARM 20 #elif V8_TARGET_ARCH_ARM
20 #include "src/arm/constants-arm.h" 21 #include "src/arm/constants-arm.h"
21 #elif V8_TARGET_ARCH_MIPS 22 #elif V8_TARGET_ARCH_MIPS
(...skipping 2471 matching lines...) Expand 10 before | Expand all | Expand 10 after
2493 static Handle<SeededNumberDictionary> NormalizeElements( 2494 static Handle<SeededNumberDictionary> NormalizeElements(
2494 Handle<JSObject> object); 2495 Handle<JSObject> object);
2495 2496
2496 // Transform slow named properties to fast variants. 2497 // Transform slow named properties to fast variants.
2497 static void TransformToFastProperties(Handle<JSObject> object, 2498 static void TransformToFastProperties(Handle<JSObject> object,
2498 int unused_property_fields); 2499 int unused_property_fields);
2499 2500
2500 // Access fast-case object properties at index. 2501 // Access fast-case object properties at index.
2501 static Handle<Object> FastPropertyAt(Handle<JSObject> object, 2502 static Handle<Object> FastPropertyAt(Handle<JSObject> object,
2502 Representation representation, 2503 Representation representation,
2503 int index); 2504 FieldIndex index);
2504 inline Object* RawFastPropertyAt(int index); 2505 inline Object* RawFastPropertyAt(FieldIndex index);
2505 inline void FastPropertyAtPut(int index, Object* value); 2506 inline void FastPropertyAtPut(FieldIndex index, Object* value);
2506 void WriteToField(int descriptor, Object* value); 2507 void WriteToField(int descriptor, Object* value);
2507 2508
2508 // Access to in object properties. 2509 // Access to in object properties.
2509 inline int GetInObjectPropertyOffset(int index); 2510 inline int GetInObjectPropertyOffset(int index);
2510 inline Object* InObjectPropertyAt(int index); 2511 inline Object* InObjectPropertyAt(int index);
2511 inline Object* InObjectPropertyAtPut(int index, 2512 inline Object* InObjectPropertyAtPut(int index,
2512 Object* value, 2513 Object* value,
2513 WriteBarrierMode mode 2514 WriteBarrierMode mode
2514 = UPDATE_WRITE_BARRIER); 2515 = UPDATE_WRITE_BARRIER);
2515 2516
(...skipping 8728 matching lines...) Expand 10 before | Expand all | Expand 10 after
11244 } else { 11245 } else {
11245 value &= ~(1 << bit_position); 11246 value &= ~(1 << bit_position);
11246 } 11247 }
11247 return value; 11248 return value;
11248 } 11249 }
11249 }; 11250 };
11250 11251
11251 } } // namespace v8::internal 11252 } } // namespace v8::internal
11252 11253
11253 #endif // V8_OBJECTS_H_ 11254 #endif // V8_OBJECTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698