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

Side by Side Diff: src/heap.h

Issue 90643003: Experimental implementation: Exposing SIMD instructions into JavaScript Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years 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/globals.h ('k') | src/heap.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 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, float32x4_map, Float32x4Map) \
69 V(Map, int32x4_map, Int32x4Map) \
68 V(Map, native_context_map, NativeContextMap) \ 70 V(Map, native_context_map, NativeContextMap) \
69 V(Map, fixed_array_map, FixedArrayMap) \ 71 V(Map, fixed_array_map, FixedArrayMap) \
70 V(Map, code_map, CodeMap) \ 72 V(Map, code_map, CodeMap) \
71 V(Map, scope_info_map, ScopeInfoMap) \ 73 V(Map, scope_info_map, ScopeInfoMap) \
72 V(Map, fixed_cow_array_map, FixedCOWArrayMap) \ 74 V(Map, fixed_cow_array_map, FixedCOWArrayMap) \
73 V(Map, fixed_double_array_map, FixedDoubleArrayMap) \ 75 V(Map, fixed_double_array_map, FixedDoubleArrayMap) \
74 V(Map, constant_pool_array_map, ConstantPoolArrayMap) \ 76 V(Map, constant_pool_array_map, ConstantPoolArrayMap) \
75 V(Object, no_interceptor_result_sentinel, NoInterceptorResultSentinel) \ 77 V(Object, no_interceptor_result_sentinel, NoInterceptorResultSentinel) \
76 V(Map, hash_table_map, HashTableMap) \ 78 V(Map, hash_table_map, HashTableMap) \
77 V(FixedArray, empty_fixed_array, EmptyFixedArray) \ 79 V(FixedArray, empty_fixed_array, EmptyFixedArray) \
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 V(Map, short_external_ascii_string_map, ShortExternalAsciiStringMap) \ 134 V(Map, short_external_ascii_string_map, ShortExternalAsciiStringMap) \
133 V(Map, undetectable_string_map, UndetectableStringMap) \ 135 V(Map, undetectable_string_map, UndetectableStringMap) \
134 V(Map, undetectable_ascii_string_map, UndetectableAsciiStringMap) \ 136 V(Map, undetectable_ascii_string_map, UndetectableAsciiStringMap) \
135 V(Map, external_byte_array_map, ExternalByteArrayMap) \ 137 V(Map, external_byte_array_map, ExternalByteArrayMap) \
136 V(Map, external_unsigned_byte_array_map, ExternalUnsignedByteArrayMap) \ 138 V(Map, external_unsigned_byte_array_map, ExternalUnsignedByteArrayMap) \
137 V(Map, external_short_array_map, ExternalShortArrayMap) \ 139 V(Map, external_short_array_map, ExternalShortArrayMap) \
138 V(Map, external_unsigned_short_array_map, ExternalUnsignedShortArrayMap) \ 140 V(Map, external_unsigned_short_array_map, ExternalUnsignedShortArrayMap) \
139 V(Map, external_int_array_map, ExternalIntArrayMap) \ 141 V(Map, external_int_array_map, ExternalIntArrayMap) \
140 V(Map, external_unsigned_int_array_map, ExternalUnsignedIntArrayMap) \ 142 V(Map, external_unsigned_int_array_map, ExternalUnsignedIntArrayMap) \
141 V(Map, external_float_array_map, ExternalFloatArrayMap) \ 143 V(Map, external_float_array_map, ExternalFloatArrayMap) \
144 V(Map, external_float32x4_array_map, ExternalFloat32x4ArrayMap) \
145 V(Map, external_int32x4_array_map, ExternalInt32x4ArrayMap) \
142 V(Map, external_double_array_map, ExternalDoubleArrayMap) \ 146 V(Map, external_double_array_map, ExternalDoubleArrayMap) \
143 V(Map, external_pixel_array_map, ExternalPixelArrayMap) \ 147 V(Map, external_pixel_array_map, ExternalPixelArrayMap) \
144 V(ExternalArray, empty_external_byte_array, \ 148 V(ExternalArray, empty_external_byte_array, \
145 EmptyExternalByteArray) \ 149 EmptyExternalByteArray) \
146 V(ExternalArray, empty_external_unsigned_byte_array, \ 150 V(ExternalArray, empty_external_unsigned_byte_array, \
147 EmptyExternalUnsignedByteArray) \ 151 EmptyExternalUnsignedByteArray) \
148 V(ExternalArray, empty_external_short_array, EmptyExternalShortArray) \ 152 V(ExternalArray, empty_external_short_array, EmptyExternalShortArray) \
149 V(ExternalArray, empty_external_unsigned_short_array, \ 153 V(ExternalArray, empty_external_unsigned_short_array, \
150 EmptyExternalUnsignedShortArray) \ 154 EmptyExternalUnsignedShortArray) \
151 V(ExternalArray, empty_external_int_array, EmptyExternalIntArray) \ 155 V(ExternalArray, empty_external_int_array, EmptyExternalIntArray) \
152 V(ExternalArray, empty_external_unsigned_int_array, \ 156 V(ExternalArray, empty_external_unsigned_int_array, \
153 EmptyExternalUnsignedIntArray) \ 157 EmptyExternalUnsignedIntArray) \
154 V(ExternalArray, empty_external_float_array, EmptyExternalFloatArray) \ 158 V(ExternalArray, empty_external_float_array, EmptyExternalFloatArray) \
159 V(ExternalArray, empty_external_float32x4_array, EmptyExternalFloat32x4Array)\
160 V(ExternalArray, empty_external_int32x4_array, EmptyExternalInt32x4Array) \
155 V(ExternalArray, empty_external_double_array, EmptyExternalDoubleArray) \ 161 V(ExternalArray, empty_external_double_array, EmptyExternalDoubleArray) \
156 V(ExternalArray, empty_external_pixel_array, \ 162 V(ExternalArray, empty_external_pixel_array, \
157 EmptyExternalPixelArray) \ 163 EmptyExternalPixelArray) \
158 V(Map, non_strict_arguments_elements_map, NonStrictArgumentsElementsMap) \ 164 V(Map, non_strict_arguments_elements_map, NonStrictArgumentsElementsMap) \
159 V(Map, function_context_map, FunctionContextMap) \ 165 V(Map, function_context_map, FunctionContextMap) \
160 V(Map, catch_context_map, CatchContextMap) \ 166 V(Map, catch_context_map, CatchContextMap) \
161 V(Map, with_context_map, WithContextMap) \ 167 V(Map, with_context_map, WithContextMap) \
162 V(Map, block_context_map, BlockContextMap) \ 168 V(Map, block_context_map, BlockContextMap) \
163 V(Map, module_context_map, ModuleContextMap) \ 169 V(Map, module_context_map, ModuleContextMap) \
164 V(Map, global_context_map, GlobalContextMap) \ 170 V(Map, global_context_map, GlobalContextMap) \
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 V(eval_string, "eval") \ 222 V(eval_string, "eval") \
217 V(empty_string, "") \ 223 V(empty_string, "") \
218 V(function_string, "function") \ 224 V(function_string, "function") \
219 V(length_string, "length") \ 225 V(length_string, "length") \
220 V(module_string, "module") \ 226 V(module_string, "module") \
221 V(name_string, "name") \ 227 V(name_string, "name") \
222 V(native_string, "native") \ 228 V(native_string, "native") \
223 V(null_string, "null") \ 229 V(null_string, "null") \
224 V(number_string, "number") \ 230 V(number_string, "number") \
225 V(Number_string, "Number") \ 231 V(Number_string, "Number") \
232 V(float32x4_string, "float32x4") \
233 V(int32x4_string, "int32x4") \
226 V(nan_string, "NaN") \ 234 V(nan_string, "NaN") \
227 V(RegExp_string, "RegExp") \ 235 V(RegExp_string, "RegExp") \
228 V(source_string, "source") \ 236 V(source_string, "source") \
229 V(global_string, "global") \ 237 V(global_string, "global") \
230 V(ignore_case_string, "ignoreCase") \ 238 V(ignore_case_string, "ignoreCase") \
231 V(multiline_string, "multiline") \ 239 V(multiline_string, "multiline") \
232 V(input_string, "input") \ 240 V(input_string, "input") \
233 V(index_string, "index") \ 241 V(index_string, "index") \
234 V(last_index_string, "lastIndex") \ 242 V(last_index_string, "lastIndex") \
235 V(object_string, "object") \ 243 V(object_string, "object") \
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 V(compare_ic_string, "==") \ 296 V(compare_ic_string, "==") \
289 V(strict_compare_ic_string, "===") \ 297 V(strict_compare_ic_string, "===") \
290 V(infinity_string, "Infinity") \ 298 V(infinity_string, "Infinity") \
291 V(minus_infinity_string, "-Infinity") \ 299 V(minus_infinity_string, "-Infinity") \
292 V(hidden_stack_trace_string, "v8::hidden_stack_trace") \ 300 V(hidden_stack_trace_string, "v8::hidden_stack_trace") \
293 V(query_colon_string, "(?:)") \ 301 V(query_colon_string, "(?:)") \
294 V(Generator_string, "Generator") \ 302 V(Generator_string, "Generator") \
295 V(throw_string, "throw") \ 303 V(throw_string, "throw") \
296 V(done_string, "done") \ 304 V(done_string, "done") \
297 V(value_string, "value") \ 305 V(value_string, "value") \
306 V(signMask, "signMask") \
307 V(x, "x") \
308 V(y, "y") \
309 V(z, "z") \
310 V(w, "w") \
311 V(flagX, "flagX") \
312 V(flagY, "flagY") \
313 V(flagZ, "flagZ") \
314 V(flagW, "flagW") \
315 V(simd, "SIMD") \
298 V(next_string, "next") \ 316 V(next_string, "next") \
299 V(byte_length_string, "byteLength") \ 317 V(byte_length_string, "byteLength") \
300 V(byte_offset_string, "byteOffset") \ 318 V(byte_offset_string, "byteOffset") \
301 V(buffer_string, "buffer") 319 V(buffer_string, "buffer")
302 320
303 // Forward declarations. 321 // Forward declarations.
304 class GCTracer; 322 class GCTracer;
305 class HeapStats; 323 class HeapStats;
306 class Isolate; 324 class Isolate;
307 class WeakObjectRetainer; 325 class WeakObjectRetainer;
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after
1024 1042
1025 // Same as NewNumberFromDouble, but may return a preallocated/immutable 1043 // Same as NewNumberFromDouble, but may return a preallocated/immutable
1026 // number object (e.g., minus_zero_value_, nan_value_) 1044 // number object (e.g., minus_zero_value_, nan_value_)
1027 MUST_USE_RESULT MaybeObject* NumberFromDouble( 1045 MUST_USE_RESULT MaybeObject* NumberFromDouble(
1028 double value, PretenureFlag pretenure = NOT_TENURED); 1046 double value, PretenureFlag pretenure = NOT_TENURED);
1029 1047
1030 // Allocated a HeapNumber from value. 1048 // Allocated a HeapNumber from value.
1031 MUST_USE_RESULT MaybeObject* AllocateHeapNumber( 1049 MUST_USE_RESULT MaybeObject* AllocateHeapNumber(
1032 double value, PretenureFlag pretenure = NOT_TENURED); 1050 double value, PretenureFlag pretenure = NOT_TENURED);
1033 1051
1052 // Allocated a Float32x4 from value.
1053 MUST_USE_RESULT MaybeObject* AllocateFloat32x4(
1054 float32x4_value_t value,
1055 PretenureFlag pretenure = NOT_TENURED);
1056
1057 // Allocated a Int32x4 from value.
1058 MUST_USE_RESULT MaybeObject* AllocateInt32x4(
1059 int32x4_value_t value,
1060 PretenureFlag pretenure = NOT_TENURED);
1061
1034 // Converts an int into either a Smi or a HeapNumber object. 1062 // Converts an int into either a Smi or a HeapNumber object.
1035 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation 1063 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
1036 // failed. 1064 // failed.
1037 // Please note this does not perform a garbage collection. 1065 // Please note this does not perform a garbage collection.
1038 MUST_USE_RESULT inline MaybeObject* NumberFromInt32( 1066 MUST_USE_RESULT inline MaybeObject* NumberFromInt32(
1039 int32_t value, PretenureFlag pretenure = NOT_TENURED); 1067 int32_t value, PretenureFlag pretenure = NOT_TENURED);
1040 1068
1041 // Converts an int into either a Smi or a HeapNumber object. 1069 // Converts an int into either a Smi or a HeapNumber object.
1042 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation 1070 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
1043 // failed. 1071 // failed.
(...skipping 2040 matching lines...) Expand 10 before | Expand all | Expand 10 after
3084 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. 3112 DisallowHeapAllocation no_allocation; // i.e. no gc allowed.
3085 3113
3086 private: 3114 private:
3087 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 3115 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
3088 }; 3116 };
3089 #endif // DEBUG 3117 #endif // DEBUG
3090 3118
3091 } } // namespace v8::internal 3119 } } // namespace v8::internal
3092 3120
3093 #endif // V8_HEAP_H_ 3121 #endif // V8_HEAP_H_
OLDNEW
« no previous file with comments | « src/globals.h ('k') | src/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698