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

Side by Side Diff: src/isolate.h

Issue 23548024: Introduce a RandonNumberGenerator class. Refactor the random/private_random uses in Isolate/Context. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Initialize random_number_generator of Isolate lazily. Created 7 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 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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 class FunctionInfoListener; 70 class FunctionInfoListener;
71 class HandleScopeImplementer; 71 class HandleScopeImplementer;
72 class HeapProfiler; 72 class HeapProfiler;
73 class HStatistics; 73 class HStatistics;
74 class HTracer; 74 class HTracer;
75 class InlineRuntimeFunctionsTable; 75 class InlineRuntimeFunctionsTable;
76 class NoAllocationStringAllocator; 76 class NoAllocationStringAllocator;
77 class InnerPointerToCodeCache; 77 class InnerPointerToCodeCache;
78 class MarkingThread; 78 class MarkingThread;
79 class PreallocatedMemoryThread; 79 class PreallocatedMemoryThread;
80 class RandomNumberGenerator;
80 class RegExpStack; 81 class RegExpStack;
81 class SaveContext; 82 class SaveContext;
82 class UnicodeCache; 83 class UnicodeCache;
83 class ConsStringIteratorOp; 84 class ConsStringIteratorOp;
84 class StringTracker; 85 class StringTracker;
85 class StubCache; 86 class StubCache;
86 class SweeperThread; 87 class SweeperThread;
87 class ThreadManager; 88 class ThreadManager;
88 class ThreadState; 89 class ThreadState;
89 class ThreadVisitor; // Defined in v8threads.h 90 class ThreadVisitor; // Defined in v8threads.h
(...skipping 1028 matching lines...) Expand 10 before | Expand all | Expand 10 after
1118 HStatistics* GetHStatistics(); 1119 HStatistics* GetHStatistics();
1119 HTracer* GetHTracer(); 1120 HTracer* GetHTracer();
1120 1121
1121 FunctionEntryHook function_entry_hook() { return function_entry_hook_; } 1122 FunctionEntryHook function_entry_hook() { return function_entry_hook_; }
1122 void set_function_entry_hook(FunctionEntryHook function_entry_hook) { 1123 void set_function_entry_hook(FunctionEntryHook function_entry_hook) {
1123 function_entry_hook_ = function_entry_hook; 1124 function_entry_hook_ = function_entry_hook;
1124 } 1125 }
1125 1126
1126 void* stress_deopt_count_address() { return &stress_deopt_count_; } 1127 void* stress_deopt_count_address() { return &stress_deopt_count_; }
1127 1128
1129 inline RandomNumberGenerator* random_number_generator() V8_WARN_UNUSED_RESULT;
Michael Starzinger 2013/09/09 17:11:25 I don't think it is vitally important that the res
Benedikt Meurer 2013/09/10 06:08:07 Done.
1130
1128 // Given an address occupied by a live code object, return that object. 1131 // Given an address occupied by a live code object, return that object.
1129 Object* FindCodeObject(Address a); 1132 Object* FindCodeObject(Address a);
1130 1133
1131 private: 1134 private:
1132 Isolate(); 1135 Isolate();
1133 1136
1134 friend struct GlobalState; 1137 friend struct GlobalState;
1135 friend struct InitializeGlobalState; 1138 friend struct InitializeGlobalState;
1136 1139
1137 enum State { 1140 enum State {
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
1292 unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_; 1295 unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_;
1293 ConsStringIteratorOp objects_string_compare_iterator_a_; 1296 ConsStringIteratorOp objects_string_compare_iterator_a_;
1294 ConsStringIteratorOp objects_string_compare_iterator_b_; 1297 ConsStringIteratorOp objects_string_compare_iterator_b_;
1295 StaticResource<ConsStringIteratorOp> objects_string_iterator_; 1298 StaticResource<ConsStringIteratorOp> objects_string_iterator_;
1296 unibrow::Mapping<unibrow::Ecma262Canonicalize> 1299 unibrow::Mapping<unibrow::Ecma262Canonicalize>
1297 regexp_macro_assembler_canonicalize_; 1300 regexp_macro_assembler_canonicalize_;
1298 RegExpStack* regexp_stack_; 1301 RegExpStack* regexp_stack_;
1299 DateCache* date_cache_; 1302 DateCache* date_cache_;
1300 unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_; 1303 unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_;
1301 CodeStubInterfaceDescriptor* code_stub_interface_descriptors_; 1304 CodeStubInterfaceDescriptor* code_stub_interface_descriptors_;
1305 RandomNumberGenerator* random_number_generator_;
1302 1306
1303 // True if fatal error has been signaled for this isolate. 1307 // True if fatal error has been signaled for this isolate.
1304 bool has_fatal_error_; 1308 bool has_fatal_error_;
1305 1309
1306 // True if we are using the Crankshaft optimizing compiler. 1310 // True if we are using the Crankshaft optimizing compiler.
1307 bool use_crankshaft_; 1311 bool use_crankshaft_;
1308 1312
1309 // True if this isolate was initialized from a snapshot. 1313 // True if this isolate was initialized from a snapshot.
1310 bool initialized_from_snapshot_; 1314 bool initialized_from_snapshot_;
1311 1315
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
1520 1524
1521 // Mark the native context with out of memory. 1525 // Mark the native context with out of memory.
1522 inline void Context::mark_out_of_memory() { 1526 inline void Context::mark_out_of_memory() {
1523 native_context()->set_out_of_memory(HEAP->true_value()); 1527 native_context()->set_out_of_memory(HEAP->true_value());
1524 } 1528 }
1525 1529
1526 1530
1527 } } // namespace v8::internal 1531 } } // namespace v8::internal
1528 1532
1529 #endif // V8_ISOLATE_H_ 1533 #endif // V8_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698