| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index d2101ae293b6cee60ef3ca597bc483ab9b4d18ba..80d99d8b689f704ce475f3d96a2978ae2e339631 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -30,8 +30,9 @@
|
|
|
| #include "allocation.h"
|
| #include "assembler.h"
|
| -#include "globals.h"
|
| #include "codegen.h"
|
| +#include "globals.h"
|
| +#include "macro-assembler.h"
|
|
|
| namespace v8 {
|
| namespace internal {
|
| @@ -280,7 +281,7 @@ enum StubFunctionMode { NOT_JS_FUNCTION_STUB_MODE, JS_FUNCTION_STUB_MODE };
|
| struct CodeStubInterfaceDescriptor {
|
| CodeStubInterfaceDescriptor();
|
| int register_param_count_;
|
| - const Register* stack_parameter_count_;
|
| + Register stack_parameter_count_;
|
| // if hint_stack_parameter_count_ > 0, the code stub can optimize the
|
| // return sequence. Default value is -1, which means it is ignored.
|
| int hint_stack_parameter_count_;
|
| @@ -289,7 +290,7 @@ struct CodeStubInterfaceDescriptor {
|
| Address deoptimization_handler_;
|
|
|
| int environment_length() const {
|
| - if (stack_parameter_count_ != NULL) {
|
| + if (stack_parameter_count_.is_valid()) {
|
| return register_param_count_ + 1;
|
| }
|
| return register_param_count_;
|
| @@ -320,7 +321,7 @@ struct CodeStubInterfaceDescriptor {
|
| // defined outside of the platform directories
|
| #define DESCRIPTOR_GET_PARAMETER_REGISTER(descriptor, index) \
|
| ((index) == (descriptor)->register_param_count_) \
|
| - ? *((descriptor)->stack_parameter_count_) \
|
| + ? (descriptor)->stack_parameter_count_ \
|
| : (descriptor)->register_params_[(index)]
|
|
|
|
|
| @@ -404,9 +405,7 @@ enum StringAddFlags {
|
| // Check right parameter.
|
| STRING_ADD_CHECK_RIGHT = 1 << 1,
|
| // Check both parameters.
|
| - STRING_ADD_CHECK_BOTH = STRING_ADD_CHECK_LEFT | STRING_ADD_CHECK_RIGHT,
|
| - // Stub needs a frame before calling the runtime
|
| - STRING_ADD_ERECT_FRAME = 1 << 2
|
| + STRING_ADD_CHECK_BOTH = STRING_ADD_CHECK_LEFT | STRING_ADD_CHECK_RIGHT
|
| };
|
|
|
| } } // namespace v8::internal
|
| @@ -476,6 +475,8 @@ class NumberToStringStub V8_FINAL : public HydrogenCodeStub {
|
| Isolate* isolate,
|
| CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
|
|
|
| + static void InstallDescriptors(Isolate* isolate);
|
| +
|
| // Parameters accessed via CodeStubGraphBuilder::GetParameter()
|
| static const int kNumber = 0;
|
|
|
|
|