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

Side by Side Diff: src/ic.h

Issue 2840018: [Isolates] Moved more compilation-related globals (builtins, runtime, &c.)... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/isolates/
Patch Set: rebase Created 10 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 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 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 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 private: 277 private:
278 // Update the inline cache and the global stub cache based on the 278 // Update the inline cache and the global stub cache based on the
279 // lookup result. 279 // lookup result.
280 void UpdateCaches(LookupResult* lookup, 280 void UpdateCaches(LookupResult* lookup,
281 State state, 281 State state,
282 Handle<Object> object, 282 Handle<Object> object,
283 Handle<String> name); 283 Handle<String> name);
284 284
285 // Stub accessors. 285 // Stub accessors.
286 static Code* megamorphic_stub() { 286 static Code* megamorphic_stub() {
287 return Builtins::builtin(Builtins::LoadIC_Megamorphic); 287 return Isolate::Current()->builtins()->builtin(
288 Builtins::LoadIC_Megamorphic);
288 } 289 }
289 static Code* initialize_stub() { 290 static Code* initialize_stub() {
290 return Builtins::builtin(Builtins::LoadIC_Initialize); 291 return Isolate::Current()->builtins()->builtin(
292 Builtins::LoadIC_Initialize);
291 } 293 }
292 static Code* pre_monomorphic_stub() { 294 static Code* pre_monomorphic_stub() {
293 return Builtins::builtin(Builtins::LoadIC_PreMonomorphic); 295 return Isolate::Current()->builtins()->builtin(
296 Builtins::LoadIC_PreMonomorphic);
294 } 297 }
295 298
296 static void Clear(Address address, Code* target); 299 static void Clear(Address address, Code* target);
297 300
298 static bool PatchInlinedLoad(Address address, Object* map, int index); 301 static bool PatchInlinedLoad(Address address, Object* map, int index);
299 302
300 friend class IC; 303 friend class IC;
301 }; 304 };
302 305
303 306
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 340
338 private: 341 private:
339 // Update the inline cache. 342 // Update the inline cache.
340 void UpdateCaches(LookupResult* lookup, 343 void UpdateCaches(LookupResult* lookup,
341 State state, 344 State state,
342 Handle<Object> object, 345 Handle<Object> object,
343 Handle<String> name); 346 Handle<String> name);
344 347
345 // Stub accessors. 348 // Stub accessors.
346 static Code* initialize_stub() { 349 static Code* initialize_stub() {
347 return Builtins::builtin(Builtins::KeyedLoadIC_Initialize); 350 return Isolate::Current()->builtins()->builtin(
351 Builtins::KeyedLoadIC_Initialize);
348 } 352 }
349 static Code* megamorphic_stub() { 353 static Code* megamorphic_stub() {
350 return Builtins::builtin(Builtins::KeyedLoadIC_Generic); 354 return Isolate::Current()->builtins()->builtin(
355 Builtins::KeyedLoadIC_Generic);
351 } 356 }
352 static Code* generic_stub() { 357 static Code* generic_stub() {
353 return Builtins::builtin(Builtins::KeyedLoadIC_Generic); 358 return Isolate::Current()->builtins()->builtin(
359 Builtins::KeyedLoadIC_Generic);
354 } 360 }
355 static Code* pre_monomorphic_stub() { 361 static Code* pre_monomorphic_stub() {
356 return Builtins::builtin(Builtins::KeyedLoadIC_PreMonomorphic); 362 return Isolate::Current()->builtins()->builtin(
363 Builtins::KeyedLoadIC_PreMonomorphic);
357 } 364 }
358 static Code* string_stub() { 365 static Code* string_stub() {
359 return Builtins::builtin(Builtins::KeyedLoadIC_String); 366 return Isolate::Current()->builtins()->builtin(
367 Builtins::KeyedLoadIC_String);
360 } 368 }
361 static Code* external_array_stub(JSObject::ElementsKind elements_kind); 369 static Code* external_array_stub(JSObject::ElementsKind elements_kind);
362 370
363 static Code* indexed_interceptor_stub() { 371 static Code* indexed_interceptor_stub() {
364 return Builtins::builtin(Builtins::KeyedLoadIC_IndexedInterceptor); 372 return Isolate::Current()->builtins()->builtin(
373 Builtins::KeyedLoadIC_IndexedInterceptor);
365 } 374 }
366 375
367 static void Clear(Address address, Code* target); 376 static void Clear(Address address, Code* target);
368 377
369 // Support for patching the map that is checked in an inlined 378 // Support for patching the map that is checked in an inlined
370 // version of keyed load. 379 // version of keyed load.
371 static bool PatchInlinedLoad(Address address, Object* map); 380 static bool PatchInlinedLoad(Address address, Object* map);
372 381
373 friend class IC; 382 friend class IC;
374 }; 383 };
(...skipping 17 matching lines...) Expand all
392 private: 401 private:
393 // Update the inline cache and the global stub cache based on the 402 // Update the inline cache and the global stub cache based on the
394 // lookup result. 403 // lookup result.
395 void UpdateCaches(LookupResult* lookup, 404 void UpdateCaches(LookupResult* lookup,
396 State state, Handle<JSObject> receiver, 405 State state, Handle<JSObject> receiver,
397 Handle<String> name, 406 Handle<String> name,
398 Handle<Object> value); 407 Handle<Object> value);
399 408
400 // Stub accessors. 409 // Stub accessors.
401 static Code* megamorphic_stub() { 410 static Code* megamorphic_stub() {
402 return Builtins::builtin(Builtins::StoreIC_Megamorphic); 411 return Isolate::Current()->builtins()->builtin(
412 Builtins::StoreIC_Megamorphic);
403 } 413 }
404 static Code* initialize_stub() { 414 static Code* initialize_stub() {
405 return Builtins::builtin(Builtins::StoreIC_Initialize); 415 return Isolate::Current()->builtins()->builtin(
416 Builtins::StoreIC_Initialize);
406 } 417 }
407 418
408 static void Clear(Address address, Code* target); 419 static void Clear(Address address, Code* target);
409 friend class IC; 420 friend class IC;
410 }; 421 };
411 422
412 423
413 class KeyedStoreIC: public IC { 424 class KeyedStoreIC: public IC {
414 public: 425 public:
415 KeyedStoreIC() : IC(NO_EXTRA_FRAME) { } 426 KeyedStoreIC() : IC(NO_EXTRA_FRAME) { }
(...skipping 25 matching lines...) Expand all
441 private: 452 private:
442 // Update the inline cache. 453 // Update the inline cache.
443 void UpdateCaches(LookupResult* lookup, 454 void UpdateCaches(LookupResult* lookup,
444 State state, 455 State state,
445 Handle<JSObject> receiver, 456 Handle<JSObject> receiver,
446 Handle<String> name, 457 Handle<String> name,
447 Handle<Object> value); 458 Handle<Object> value);
448 459
449 // Stub accessors. 460 // Stub accessors.
450 static Code* initialize_stub() { 461 static Code* initialize_stub() {
451 return Builtins::builtin(Builtins::KeyedStoreIC_Initialize); 462 return Isolate::Current()->builtins()->builtin(
463 Builtins::KeyedStoreIC_Initialize);
452 } 464 }
453 static Code* megamorphic_stub() { 465 static Code* megamorphic_stub() {
454 return Builtins::builtin(Builtins::KeyedStoreIC_Generic); 466 return Isolate::Current()->builtins()->builtin(
467 Builtins::KeyedStoreIC_Generic);
455 } 468 }
456 static Code* generic_stub() { 469 static Code* generic_stub() {
457 return Builtins::builtin(Builtins::KeyedStoreIC_Generic); 470 return Isolate::Current()->builtins()->builtin(
471 Builtins::KeyedStoreIC_Generic);
458 } 472 }
459 static Code* external_array_stub(JSObject::ElementsKind elements_kind); 473 static Code* external_array_stub(JSObject::ElementsKind elements_kind);
460 474
461 static void Clear(Address address, Code* target); 475 static void Clear(Address address, Code* target);
462 476
463 // Support for patching the map that is checked in an inlined 477 // Support for patching the map that is checked in an inlined
464 // version of keyed store. 478 // version of keyed store.
465 // The address is the patch point for the IC call 479 // The address is the patch point for the IC call
466 // (Assembler::kCallTargetAddressOffset before the end of 480 // (Assembler::kCallTargetAddressOffset before the end of
467 // the call/return address). 481 // the call/return address).
(...skipping 24 matching lines...) Expand all
492 static const char* GetName(TypeInfo type_info); 506 static const char* GetName(TypeInfo type_info);
493 507
494 static State ToState(TypeInfo type_info); 508 static State ToState(TypeInfo type_info);
495 509
496 static TypeInfo GetTypeInfo(Object* left, Object* right); 510 static TypeInfo GetTypeInfo(Object* left, Object* right);
497 }; 511 };
498 512
499 } } // namespace v8::internal 513 } } // namespace v8::internal
500 514
501 #endif // V8_IC_H_ 515 #endif // V8_IC_H_
OLDNEW
« no previous file with comments | « src/ia32/virtual-frame-ia32.cc ('k') | src/ic.cc » ('j') | src/runtime.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698