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

Side by Side Diff: src/factory.h

Issue 7901016: Basic support for tracking smi-only arrays on ia32. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: ready to land Created 9 years, 3 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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 196
197 Handle<ExternalArray> NewExternalArray( 197 Handle<ExternalArray> NewExternalArray(
198 int length, 198 int length,
199 ExternalArrayType array_type, 199 ExternalArrayType array_type,
200 void* external_pointer, 200 void* external_pointer,
201 PretenureFlag pretenure = NOT_TENURED); 201 PretenureFlag pretenure = NOT_TENURED);
202 202
203 Handle<JSGlobalPropertyCell> NewJSGlobalPropertyCell( 203 Handle<JSGlobalPropertyCell> NewJSGlobalPropertyCell(
204 Handle<Object> value); 204 Handle<Object> value);
205 205
206 Handle<Map> NewMap(InstanceType type, int instance_size); 206 Handle<Map> NewMap(InstanceType type,
207 int instance_size,
208 ElementsKind elements_kind = FAST_ELEMENTS);
207 209
208 Handle<JSObject> NewFunctionPrototype(Handle<JSFunction> function); 210 Handle<JSObject> NewFunctionPrototype(Handle<JSFunction> function);
209 211
210 Handle<Map> CopyMapDropDescriptors(Handle<Map> map); 212 Handle<Map> CopyMapDropDescriptors(Handle<Map> map);
211 213
212 // Copy the map adding more inobject properties if possible without 214 // Copy the map adding more inobject properties if possible without
213 // overflowing the instance size. 215 // overflowing the instance size.
214 Handle<Map> CopyMap(Handle<Map> map, int extra_inobject_props); 216 Handle<Map> CopyMap(Handle<Map> map, int extra_inobject_props);
215 217
216 Handle<Map> CopyMapDropTransitions(Handle<Map> map); 218 Handle<Map> CopyMapDropTransitions(Handle<Map> map);
(...skipping 29 matching lines...) Expand all
246 Handle<JSObject> NewJSObjectFromMap(Handle<Map> map); 248 Handle<JSObject> NewJSObjectFromMap(Handle<Map> map);
247 249
248 // JS arrays are pretenured when allocated by the parser. 250 // JS arrays are pretenured when allocated by the parser.
249 Handle<JSArray> NewJSArray(int capacity, 251 Handle<JSArray> NewJSArray(int capacity,
250 PretenureFlag pretenure = NOT_TENURED); 252 PretenureFlag pretenure = NOT_TENURED);
251 253
252 Handle<JSArray> NewJSArrayWithElements( 254 Handle<JSArray> NewJSArrayWithElements(
253 Handle<FixedArray> elements, 255 Handle<FixedArray> elements,
254 PretenureFlag pretenure = NOT_TENURED); 256 PretenureFlag pretenure = NOT_TENURED);
255 257
258 void SetContent(Handle<JSArray> array, Handle<FixedArray> elements);
259
260 void EnsureCanContainNonSmiElements(Handle<JSArray> array);
261
256 Handle<JSProxy> NewJSProxy(Handle<Object> handler, Handle<Object> prototype); 262 Handle<JSProxy> NewJSProxy(Handle<Object> handler, Handle<Object> prototype);
257 263
258 // Change the type of the argument into a JS object/function and reinitialize. 264 // Change the type of the argument into a JS object/function and reinitialize.
259 void BecomeJSObject(Handle<JSReceiver> object); 265 void BecomeJSObject(Handle<JSReceiver> object);
260 void BecomeJSFunction(Handle<JSReceiver> object); 266 void BecomeJSFunction(Handle<JSReceiver> object);
261 267
262 Handle<JSFunction> NewFunction(Handle<String> name, 268 Handle<JSFunction> NewFunction(Handle<String> name,
263 Handle<Object> prototype); 269 Handle<Object> prototype);
264 270
265 Handle<JSFunction> NewFunctionWithoutPrototype( 271 Handle<JSFunction> NewFunctionWithoutPrototype(
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 // Update the map cache in the global context with (keys, map) 464 // Update the map cache in the global context with (keys, map)
459 Handle<MapCache> AddToMapCache(Handle<Context> context, 465 Handle<MapCache> AddToMapCache(Handle<Context> context,
460 Handle<FixedArray> keys, 466 Handle<FixedArray> keys,
461 Handle<Map> map); 467 Handle<Map> map);
462 }; 468 };
463 469
464 470
465 } } // namespace v8::internal 471 } } // namespace v8::internal
466 472
467 #endif // V8_FACTORY_H_ 473 #endif // V8_FACTORY_H_
OLDNEW
« src/bootstrapper.cc ('K') | « src/elements.cc ('k') | src/factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698