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

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 mutable boxed double runtime function 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
« no previous file with comments | « src/json-stringifier.h ('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 // 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 2470 matching lines...) Expand 10 before | Expand all | Expand 10 after
2492 static Handle<SeededNumberDictionary> NormalizeElements( 2493 static Handle<SeededNumberDictionary> NormalizeElements(
2493 Handle<JSObject> object); 2494 Handle<JSObject> object);
2494 2495
2495 // Transform slow named properties to fast variants. 2496 // Transform slow named properties to fast variants.
2496 static void TransformToFastProperties(Handle<JSObject> object, 2497 static void TransformToFastProperties(Handle<JSObject> object,
2497 int unused_property_fields); 2498 int unused_property_fields);
2498 2499
2499 // Access fast-case object properties at index. 2500 // Access fast-case object properties at index.
2500 static Handle<Object> FastPropertyAt(Handle<JSObject> object, 2501 static Handle<Object> FastPropertyAt(Handle<JSObject> object,
2501 Representation representation, 2502 Representation representation,
2502 int index); 2503 FieldIndex index);
2503 inline Object* RawFastPropertyAt(int index); 2504 inline Object* RawFastPropertyAt(FieldIndex index);
2504 inline void FastPropertyAtPut(int index, Object* value); 2505 inline void FastPropertyAtPut(FieldIndex index, Object* value);
2505 void WriteToField(int descriptor, Object* value); 2506 void WriteToField(int descriptor, Object* value);
2506 2507
2507 // Access to in object properties. 2508 // Access to in object properties.
2508 inline int GetInObjectPropertyOffset(int index); 2509 inline int GetInObjectPropertyOffset(int index);
2509 inline Object* InObjectPropertyAt(int index); 2510 inline Object* InObjectPropertyAt(int index);
2510 inline Object* InObjectPropertyAtPut(int index, 2511 inline Object* InObjectPropertyAtPut(int index,
2511 Object* value, 2512 Object* value,
2512 WriteBarrierMode mode 2513 WriteBarrierMode mode
2513 = UPDATE_WRITE_BARRIER); 2514 = UPDATE_WRITE_BARRIER);
2514 2515
(...skipping 8733 matching lines...) Expand 10 before | Expand all | Expand 10 after
11248 } else { 11249 } else {
11249 value &= ~(1 << bit_position); 11250 value &= ~(1 << bit_position);
11250 } 11251 }
11251 return value; 11252 return value;
11252 } 11253 }
11253 }; 11254 };
11254 11255
11255 } } // namespace v8::internal 11256 } } // namespace v8::internal
11256 11257
11257 #endif // V8_OBJECTS_H_ 11258 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/json-stringifier.h ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698