13847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com// Copyright 2011 the V8 project authors. All rights reserved.
23484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// Use of this source code is governed by a BSD-style license that can be
33484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// found in the LICENSE file.
43847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com
53847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com#ifndef V8_ISOLATE_INL_H_
63847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com#define V8_ISOLATE_INL_H_
73847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com
85de0074a922429f5e0ec2cf140c2d2989bf88140yangguo@chromium.org#include "src/base/utils/random-number-generator.h"
9196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/debug.h"
10196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/isolate.h"
113847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com
123847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.comnamespace v8 {
133847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.comnamespace internal {
143847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com
153847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com
163d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.orgSaveContext::SaveContext(Isolate* isolate)
173d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org  : isolate_(isolate),
183d00d0a753cf5e5091f883517e6612ece769f999jkummerow@chromium.org    prev_(isolate->save_context()) {
19c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com  if (isolate->context() != NULL) {
20c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com    context_ = Handle<Context>(isolate->context());
21c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com  }
22c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com  isolate->set_save_context(this);
23c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
24c3b37129d6387b2db313f9100256d2d5f60dd9a8jkummerow@chromium.org  c_entry_fp_ = isolate->c_entry_fp(isolate->thread_local_top());
25c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com}
26c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
27c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com
283847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.combool Isolate::DebuggerHasBreakPoints() {
293847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com  return debug()->has_break_points();
303847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com}
313847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com
323847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com
335de0074a922429f5e0ec2cf140c2d2989bf88140yangguo@chromium.orgbase::RandomNumberGenerator* Isolate::random_number_generator() {
34c5d4971574b7a205fa0e788d8121dc79485e5e67hpayer@chromium.org  if (random_number_generator_ == NULL) {
353ee7a7ed19002e4a0efbf6cdb2a201f21763a80adanno@chromium.org    if (FLAG_random_seed != 0) {
365de0074a922429f5e0ec2cf140c2d2989bf88140yangguo@chromium.org      random_number_generator_ =
375de0074a922429f5e0ec2cf140c2d2989bf88140yangguo@chromium.org          new base::RandomNumberGenerator(FLAG_random_seed);
383ee7a7ed19002e4a0efbf6cdb2a201f21763a80adanno@chromium.org    } else {
395de0074a922429f5e0ec2cf140c2d2989bf88140yangguo@chromium.org      random_number_generator_ = new base::RandomNumberGenerator();
403ee7a7ed19002e4a0efbf6cdb2a201f21763a80adanno@chromium.org    }
41c5d4971574b7a205fa0e788d8121dc79485e5e67hpayer@chromium.org  }
42c5d4971574b7a205fa0e788d8121dc79485e5e67hpayer@chromium.org  return random_number_generator_;
43c5d4971574b7a205fa0e788d8121dc79485e5e67hpayer@chromium.org}
44c5d4971574b7a205fa0e788d8121dc79485e5e67hpayer@chromium.org
453847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com} }  // namespace v8::internal
463847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com
473847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com#endif  // V8_ISOLATE_INL_H_
48