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

Side by Side Diff: src/heap.cc

Issue 16925008: Generate StoreGlobal stubs with Hydrogen (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address feedback Created 7 years, 5 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 2837 matching lines...) Expand 10 before | Expand all | Expand 10 after
2848 if (!maybe_result->ToObject(&result)) return maybe_result; 2848 if (!maybe_result->ToObject(&result)) return maybe_result;
2849 } 2849 }
2850 HeapObject::cast(result)->set_map_no_write_barrier(cell_map()); 2850 HeapObject::cast(result)->set_map_no_write_barrier(cell_map());
2851 Cell::cast(result)->set_value(value); 2851 Cell::cast(result)->set_value(value);
2852 return result; 2852 return result;
2853 } 2853 }
2854 2854
2855 2855
2856 MaybeObject* Heap::AllocatePropertyCell(Object* value) { 2856 MaybeObject* Heap::AllocatePropertyCell(Object* value) {
2857 Object* result; 2857 Object* result;
2858 { MaybeObject* maybe_result = AllocateRawPropertyCell(); 2858 MaybeObject* maybe_result = AllocateRawPropertyCell();
2859 if (!maybe_result->ToObject(&result)) return maybe_result; 2859 if (!maybe_result->ToObject(&result)) return maybe_result;
2860 } 2860
2861 HeapObject::cast(result)->set_map_no_write_barrier( 2861 HeapObject::cast(result)->set_map_no_write_barrier(
2862 global_property_cell_map()); 2862 global_property_cell_map());
2863 PropertyCell* cell = PropertyCell::cast(result); 2863 PropertyCell* cell = PropertyCell::cast(result);
2864 cell->set_dependent_code(DependentCode::cast(empty_fixed_array()), 2864 cell->set_dependent_code(DependentCode::cast(empty_fixed_array()),
2865 SKIP_WRITE_BARRIER); 2865 SKIP_WRITE_BARRIER);
2866 cell->set_value(value); 2866 cell->set_value(value);
2867 cell->set_type(Type::None()); 2867 cell->set_type(Type::None());
2868 maybe_result = cell->SetValueInferType(value);
2869 if (maybe_result->IsFailure()) return maybe_result;
2868 return result; 2870 return result;
2869 } 2871 }
2870 2872
2871 2873
2872 MaybeObject* Heap::AllocateBox(Object* value, PretenureFlag pretenure) { 2874 MaybeObject* Heap::AllocateBox(Object* value, PretenureFlag pretenure) {
2873 Box* result; 2875 Box* result;
2874 MaybeObject* maybe_result = AllocateStruct(BOX_TYPE); 2876 MaybeObject* maybe_result = AllocateStruct(BOX_TYPE);
2875 if (!maybe_result->To(&result)) return maybe_result; 2877 if (!maybe_result->To(&result)) return maybe_result;
2876 result->set_value(value); 2878 result->set_value(value);
2877 return result; 2879 return result;
(...skipping 5244 matching lines...) Expand 10 before | Expand all | Expand 10 after
8122 if (FLAG_parallel_recompilation) { 8124 if (FLAG_parallel_recompilation) {
8123 heap_->relocation_mutex_->Lock(); 8125 heap_->relocation_mutex_->Lock();
8124 #ifdef DEBUG 8126 #ifdef DEBUG
8125 heap_->relocation_mutex_locked_by_optimizer_thread_ = 8127 heap_->relocation_mutex_locked_by_optimizer_thread_ =
8126 heap_->isolate()->optimizing_compiler_thread()->IsOptimizerThread(); 8128 heap_->isolate()->optimizing_compiler_thread()->IsOptimizerThread();
8127 #endif // DEBUG 8129 #endif // DEBUG
8128 } 8130 }
8129 } 8131 }
8130 8132
8131 } } // namespace v8::internal 8133 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/heap.h ('k') | src/hydrogen.h » ('j') | src/x64/lithium-gap-resolver-x64.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698