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

Unified Diff: src/handles-inl.h

Issue 6568007: Fix array concat to follow the specification in the presence of element getters. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge/build-ia32
Patch Set: Created 9 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: src/handles-inl.h
diff --git a/src/handles-inl.h b/src/handles-inl.h
index b31351256edfe7711bd574147bbc03b9c6a8f3d3..eca2b877a629ddf7308a9695523369622dcc56bb 100644
--- a/src/handles-inl.h
+++ b/src/handles-inl.h
@@ -36,14 +36,14 @@
namespace v8 {
namespace internal {
-template<class T>
+template<typename T>
Handle<T>::Handle(T* obj) {
ASSERT(!obj->IsFailure());
location_ = HandleScope::CreateHandle(obj);
}
-template <class T>
+template <typename T>
inline T* Handle<T>::operator*() const {
ASSERT(location_ != NULL);
ASSERT(reinterpret_cast<Address>(*location_) != kHandleZapValue);
@@ -51,6 +51,15 @@ inline T* Handle<T>::operator*() const {
}
+template <typename T>
+RootVar<T>::RootVar(T* value) : location_(HandleScope::CreateHandle(value)) { }
+
+
+template <typename T>
+RootVar<T>::RootVar(Handle<T> value)
+ : location_(HandleScope::CreateHandle(*value)) { }
+
+
#ifdef DEBUG
inline NoHandleAllocation::NoHandleAllocation() {
v8::ImplementationUtilities::HandleScopeData* current =

Powered by Google App Engine
This is Rietveld 408576698