Revision: 24168
Author: [email protected]
Date: Wed Sep 24 08:12:58 2014 UTC
Log: Change all V8 internal private symbols to be private own symbols.
[email protected]
Review URL: https://codereview.chromium.org/598603002
https://code.google.com/p/v8/source/detail?r=24168
Modified:
/branches/bleeding_edge/src/heap/heap.cc
/branches/bleeding_edge/src/macros.py
/branches/bleeding_edge/src/messages.js
=======================================
--- /branches/bleeding_edge/src/heap/heap.cc Thu Sep 18 12:52:12 2014 UTC
+++ /branches/bleeding_edge/src/heap/heap.cc Wed Sep 24 08:12:58 2014 UTC
@@ -2861,17 +2861,17 @@
// Number of queued microtasks stored in
Isolate::pending_microtask_count().
set_microtask_queue(empty_fixed_array());
- set_detailed_stack_trace_symbol(*factory->NewPrivateSymbol());
- set_elements_transition_symbol(*factory->NewPrivateSymbol());
- set_frozen_symbol(*factory->NewPrivateSymbol());
- set_megamorphic_symbol(*factory->NewPrivateSymbol());
- set_premonomorphic_symbol(*factory->NewPrivateSymbol());
- set_generic_symbol(*factory->NewPrivateSymbol());
- set_nonexistent_symbol(*factory->NewPrivateSymbol());
- set_normal_ic_symbol(*factory->NewPrivateSymbol());
- set_observed_symbol(*factory->NewPrivateSymbol());
- set_stack_trace_symbol(*factory->NewPrivateSymbol());
- set_uninitialized_symbol(*factory->NewPrivateSymbol());
+ set_detailed_stack_trace_symbol(*factory->NewPrivateOwnSymbol());
+ set_elements_transition_symbol(*factory->NewPrivateOwnSymbol());
+ set_frozen_symbol(*factory->NewPrivateOwnSymbol());
+ set_megamorphic_symbol(*factory->NewPrivateOwnSymbol());
+ set_premonomorphic_symbol(*factory->NewPrivateOwnSymbol());
+ set_generic_symbol(*factory->NewPrivateOwnSymbol());
+ set_nonexistent_symbol(*factory->NewPrivateOwnSymbol());
+ set_normal_ic_symbol(*factory->NewPrivateOwnSymbol());
+ set_observed_symbol(*factory->NewPrivateOwnSymbol());
+ set_stack_trace_symbol(*factory->NewPrivateOwnSymbol());
+ set_uninitialized_symbol(*factory->NewPrivateOwnSymbol());
set_home_object_symbol(*factory->NewPrivateOwnSymbol());
Handle<SeededNumberDictionary> slow_element_dictionary =
=======================================
--- /branches/bleeding_edge/src/macros.py Wed Sep 17 14:01:25 2014 UTC
+++ /branches/bleeding_edge/src/macros.py Wed Sep 24 08:12:58 2014 UTC
@@ -172,7 +172,7 @@
# GET_PRIVATE should only be used if the property is known to exists on obj
# itself (it should really use %GetOwnProperty, but that would be way
slower).
macro GLOBAL_PRIVATE(name) = (%CreateGlobalPrivateOwnSymbol(name));
-macro NEW_PRIVATE(name) = (%CreatePrivateSymbol(name));
+macro NEW_PRIVATE_OWN(name) = (%CreatePrivateOwnSymbol(name));
macro IS_PRIVATE(sym) = (%SymbolIsPrivate(sym));
macro HAS_PRIVATE(obj, sym) = (%HasOwnProperty(obj, sym));
macro HAS_DEFINED_PRIVATE(obj, sym) = (!IS_UNDEFINED(obj[sym]));
=======================================
--- /branches/bleeding_edge/src/messages.js Fri Sep 19 11:08:04 2014 UTC
+++ /branches/bleeding_edge/src/messages.js Wed Sep 24 08:12:58 2014 UTC
@@ -757,10 +757,10 @@
//
----------------------------------------------------------------------------
// Error implementation
-var CallSiteReceiverKey = NEW_PRIVATE("CallSite#receiver");
-var CallSiteFunctionKey = NEW_PRIVATE("CallSite#function");
-var CallSitePositionKey = NEW_PRIVATE("CallSite#position");
-var CallSiteStrictModeKey = NEW_PRIVATE("CallSite#strict_mode");
+var CallSiteReceiverKey = NEW_PRIVATE_OWN("CallSite#receiver");
+var CallSiteFunctionKey = NEW_PRIVATE_OWN("CallSite#function");
+var CallSitePositionKey = NEW_PRIVATE_OWN("CallSite#position");
+var CallSiteStrictModeKey = NEW_PRIVATE_OWN("CallSite#strict_mode");
function CallSite(receiver, fun, pos, strict_mode) {
SET_PRIVATE(this, CallSiteReceiverKey, receiver);
@@ -1115,16 +1115,21 @@
var stack_trace_symbol; // Set during bootstrapping.
-var formatted_stack_trace_symbol = NEW_PRIVATE("formatted stack trace");
+var formatted_stack_trace_symbol = NEW_PRIVATE_OWN("formatted stack
trace");
// Format the stack trace if not yet done, and return it.
// Cache the formatted stack trace on the holder.
var StackTraceGetter = function() {
- var formatted_stack_trace = GET_PRIVATE(this,
formatted_stack_trace_symbol);
+ var formatted_stack_trace = UNDEFINED;
+ var holder = this;
+ while (holder && IS_UNDEFINED(formatted_stack_trace)) {
+ formatted_stack_trace = GET_PRIVATE(holder,
formatted_stack_trace_symbol);
+ holder = %GetPrototype(holder);
+ }
if (IS_UNDEFINED(formatted_stack_trace)) {
- var holder = this;
- while (!HAS_PRIVATE(holder, stack_trace_symbol)) {
+ holder = this;
+ while (!HAS_DEFINED_PRIVATE(holder, stack_trace_symbol)) {
holder = %GetPrototype(holder);
if (!holder) return UNDEFINED;
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.