Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index fd6b0a9e27d4293eec0b6a2d44044dc0487ef258..661152465b29561687bb92945b71c35fcc5945f1 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -1610,7 +1610,9 @@ class RegExpConstructResultStub V8_FINAL : public HydrogenCodeStub { |
class CallFunctionStub: public PlatformCodeStub { |
public: |
CallFunctionStub(Isolate* isolate, int argc, CallFunctionFlags flags) |
- : PlatformCodeStub(isolate), argc_(argc), flags_(flags) { } |
+ : PlatformCodeStub(isolate), argc_(argc), flags_(flags) { |
+ ASSERT(argc <= Code::kMaxArguments); |
+ } |
void Generate(MacroAssembler* masm); |
@@ -1626,7 +1628,9 @@ class CallFunctionStub: public PlatformCodeStub { |
// Minor key encoding in 32 bits with Bitfield <Type, shift, size>. |
class FlagBits: public BitField<CallFunctionFlags, 0, 2> {}; |
- class ArgcBits: public BitField<unsigned, 2, 32 - 2> {}; |
+ class ArgcBits : public BitField<unsigned, 2, Code::kArgumentsBits> {}; |
+ |
+ STATIC_ASSERT(Code::kArgumentsBits + 2 <= kStubMinorKeyBits); |
Major MajorKey() const { return CallFunction; } |
int MinorKey() const { |