Index: src/runtime.cc |
=================================================================== |
--- src/runtime.cc (revision 2753) |
+++ src/runtime.cc (working copy) |
@@ -45,7 +45,6 @@ |
#include "v8threads.h" |
#include "smart-pointer.h" |
#include "parser.h" |
-#include "stub-cache.h" |
namespace v8 { |
namespace internal { |
@@ -1236,9 +1235,6 @@ |
// Array, and Object, and some web code |
// doesn't like seeing source code for constructors. |
target->shared()->set_script(Heap::undefined_value()); |
- // Clear the optimization hints related to the compiled code as these are no |
- // longer valid when the code is overwritten. |
- target->shared()->ClearThisPropertyAssignmentsInfo(); |
context = Handle<Context>(fun->context()); |
// Make sure we get a fresh copy of the literal vector to avoid |
@@ -4330,21 +4326,11 @@ |
} |
-static Code* ComputeConstructStub(Handle<SharedFunctionInfo> shared) { |
+static Handle<Code> ComputeConstructStub(Handle<Map> map) { |
// TODO(385): Change this to create a construct stub specialized for |
// the given map to make allocation of simple objects - and maybe |
// arrays - much faster. |
- if (FLAG_inline_new |
- && shared->has_only_simple_this_property_assignments()) { |
- ConstructStubCompiler compiler; |
- Object* code = compiler.CompileConstructStub(*shared); |
- if (code->IsFailure()) { |
- return Builtins::builtin(Builtins::JSConstructStubGeneric); |
- } |
- return Code::cast(code); |
- } |
- |
- return Builtins::builtin(Builtins::JSConstructStubGeneric); |
+ return Handle<Code>(Builtins::builtin(Builtins::JSConstructStubGeneric)); |
} |
@@ -4387,25 +4373,15 @@ |
} |
} |
- // The function should be compiled for the optimization hints to be available. |
- if (!function->shared()->is_compiled()) { |
- CompileLazyShared(Handle<SharedFunctionInfo>(function->shared()), |
- CLEAR_EXCEPTION, |
- 0); |
- } |
- |
bool first_allocation = !function->has_initial_map(); |
Handle<JSObject> result = Factory::NewJSObject(function); |
if (first_allocation) { |
Handle<Map> map = Handle<Map>(function->initial_map()); |
- Handle<Code> stub = Handle<Code>( |
- ComputeConstructStub(Handle<SharedFunctionInfo>(function->shared()))); |
+ Handle<Code> stub = ComputeConstructStub(map); |
function->shared()->set_construct_stub(*stub); |
} |
- |
Counters::constructed_objects.Increment(); |
Counters::constructed_objects_runtime.Increment(); |
- |
return *result; |
} |
@@ -7410,7 +7386,7 @@ |
} |
-static Object* Runtime_DebugDisassembleFunction(Arguments args) { |
+static Object* Runtime_FunctionGetAssemblerCode(Arguments args) { |
#ifdef DEBUG |
HandleScope scope; |
ASSERT(args.length() == 1); |
@@ -7425,21 +7401,6 @@ |
} |
-static Object* Runtime_DebugDisassembleConstructor(Arguments args) { |
-#ifdef DEBUG |
- HandleScope scope; |
- ASSERT(args.length() == 1); |
- // Get the function and make sure it is compiled. |
- CONVERT_ARG_CHECKED(JSFunction, func, 0); |
- if (!func->is_compiled() && !CompileLazy(func, KEEP_EXCEPTION)) { |
- return Failure::Exception(); |
- } |
- func->shared()->construct_stub()->PrintLn(); |
-#endif // DEBUG |
- return Heap::undefined_value(); |
-} |
- |
- |
static Object* Runtime_FunctionGetInferredName(Arguments args) { |
NoHandleAllocation ha; |
ASSERT(args.length() == 1); |