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

Side by Side Diff: src/heap.h

Issue 211333002: Replace HeapNumber as doublebox with an explicit MutableHeapNumber. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 9 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 // 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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 V(Oddball, the_hole_value, TheHoleValue) \ 58 V(Oddball, the_hole_value, TheHoleValue) \
59 V(Oddball, null_value, NullValue) \ 59 V(Oddball, null_value, NullValue) \
60 V(Oddball, true_value, TrueValue) \ 60 V(Oddball, true_value, TrueValue) \
61 V(Oddball, false_value, FalseValue) \ 61 V(Oddball, false_value, FalseValue) \
62 V(Oddball, uninitialized_value, UninitializedValue) \ 62 V(Oddball, uninitialized_value, UninitializedValue) \
63 V(Map, cell_map, CellMap) \ 63 V(Map, cell_map, CellMap) \
64 V(Map, global_property_cell_map, GlobalPropertyCellMap) \ 64 V(Map, global_property_cell_map, GlobalPropertyCellMap) \
65 V(Map, shared_function_info_map, SharedFunctionInfoMap) \ 65 V(Map, shared_function_info_map, SharedFunctionInfoMap) \
66 V(Map, meta_map, MetaMap) \ 66 V(Map, meta_map, MetaMap) \
67 V(Map, heap_number_map, HeapNumberMap) \ 67 V(Map, heap_number_map, HeapNumberMap) \
68 V(Map, mutable_heap_number_map, MutableHeapNumberMap) \
68 V(Map, native_context_map, NativeContextMap) \ 69 V(Map, native_context_map, NativeContextMap) \
69 V(Map, fixed_array_map, FixedArrayMap) \ 70 V(Map, fixed_array_map, FixedArrayMap) \
70 V(Map, code_map, CodeMap) \ 71 V(Map, code_map, CodeMap) \
71 V(Map, scope_info_map, ScopeInfoMap) \ 72 V(Map, scope_info_map, ScopeInfoMap) \
72 V(Map, fixed_cow_array_map, FixedCOWArrayMap) \ 73 V(Map, fixed_cow_array_map, FixedCOWArrayMap) \
73 V(Map, fixed_double_array_map, FixedDoubleArrayMap) \ 74 V(Map, fixed_double_array_map, FixedDoubleArrayMap) \
74 V(Map, constant_pool_array_map, ConstantPoolArrayMap) \ 75 V(Map, constant_pool_array_map, ConstantPoolArrayMap) \
75 V(Object, no_interceptor_result_sentinel, NoInterceptorResultSentinel) \ 76 V(Object, no_interceptor_result_sentinel, NoInterceptorResultSentinel) \
76 V(Map, hash_table_map, HashTableMap) \ 77 V(Map, hash_table_map, HashTableMap) \
77 V(FixedArray, empty_fixed_array, EmptyFixedArray) \ 78 V(FixedArray, empty_fixed_array, EmptyFixedArray) \
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 V(the_hole_value) \ 230 V(the_hole_value) \
230 V(null_value) \ 231 V(null_value) \
231 V(true_value) \ 232 V(true_value) \
232 V(false_value) \ 233 V(false_value) \
233 V(uninitialized_value) \ 234 V(uninitialized_value) \
234 V(cell_map) \ 235 V(cell_map) \
235 V(global_property_cell_map) \ 236 V(global_property_cell_map) \
236 V(shared_function_info_map) \ 237 V(shared_function_info_map) \
237 V(meta_map) \ 238 V(meta_map) \
238 V(heap_number_map) \ 239 V(heap_number_map) \
240 V(mutable_heap_number_map) \
239 V(native_context_map) \ 241 V(native_context_map) \
240 V(fixed_array_map) \ 242 V(fixed_array_map) \
241 V(code_map) \ 243 V(code_map) \
242 V(scope_info_map) \ 244 V(scope_info_map) \
243 V(fixed_cow_array_map) \ 245 V(fixed_cow_array_map) \
244 V(fixed_double_array_map) \ 246 V(fixed_double_array_map) \
245 V(constant_pool_array_map) \ 247 V(constant_pool_array_map) \
246 V(no_interceptor_result_sentinel) \ 248 V(no_interceptor_result_sentinel) \
247 V(hash_table_map) \ 249 V(hash_table_map) \
248 V(empty_fixed_array) \ 250 V(empty_fixed_array) \
(...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after
1104 1106
1105 // Same as NewNumberFromDouble, but may return a preallocated/immutable 1107 // Same as NewNumberFromDouble, but may return a preallocated/immutable
1106 // number object (e.g., minus_zero_value_, nan_value_) 1108 // number object (e.g., minus_zero_value_, nan_value_)
1107 MUST_USE_RESULT MaybeObject* NumberFromDouble( 1109 MUST_USE_RESULT MaybeObject* NumberFromDouble(
1108 double value, PretenureFlag pretenure = NOT_TENURED); 1110 double value, PretenureFlag pretenure = NOT_TENURED);
1109 1111
1110 // Allocated a HeapNumber from value. 1112 // Allocated a HeapNumber from value.
1111 MUST_USE_RESULT MaybeObject* AllocateHeapNumber( 1113 MUST_USE_RESULT MaybeObject* AllocateHeapNumber(
1112 double value, PretenureFlag pretenure = NOT_TENURED); 1114 double value, PretenureFlag pretenure = NOT_TENURED);
1113 1115
1116 // Allocated a MutableHeapNumber from value.
1117 MUST_USE_RESULT MaybeObject* AllocateMutableHeapNumber(
1118 double value, PretenureFlag pretenure = NOT_TENURED);
1119
1114 // Converts an int into either a Smi or a HeapNumber object. 1120 // Converts an int into either a Smi or a HeapNumber object.
1115 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation 1121 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
1116 // failed. 1122 // failed.
1117 // Please note this does not perform a garbage collection. 1123 // Please note this does not perform a garbage collection.
1118 MUST_USE_RESULT inline MaybeObject* NumberFromInt32( 1124 MUST_USE_RESULT inline MaybeObject* NumberFromInt32(
1119 int32_t value, PretenureFlag pretenure = NOT_TENURED); 1125 int32_t value, PretenureFlag pretenure = NOT_TENURED);
1120 1126
1121 // Converts an int into either a Smi or a HeapNumber object. 1127 // Converts an int into either a Smi or a HeapNumber object.
1122 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation 1128 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
1123 // failed. 1129 // failed.
(...skipping 2002 matching lines...) Expand 10 before | Expand all | Expand 10 after
3126 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. 3132 DisallowHeapAllocation no_allocation; // i.e. no gc allowed.
3127 3133
3128 private: 3134 private:
3129 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 3135 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
3130 }; 3136 };
3131 #endif // DEBUG 3137 #endif // DEBUG
3132 3138
3133 } } // namespace v8::internal 3139 } } // namespace v8::internal
3134 3140
3135 #endif // V8_HEAP_H_ 3141 #endif // V8_HEAP_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698