Reland "Avoid some unnecessary fast-properties map creations."

This relands commit ea74f0f85a7730879a2f17721629f93525886092.

The revert was due to failures in cctest/test-heap/ReleaseOverReservedPages,
caused by apparent changes to memory layout and fragmentation of the
first page. Eliminating a situation in messages.js where this CL has had
an effect on map transitions seems to solve the issue.

R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/714883003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't print inlined function ID in --trace-hydrogen

FunctionLiteral has two purposes: it is a unit of compilation, and it is
also an expression.  Its id() is only for the latter purpose, used by
the continuation of the closure, not by the closure itself.

When we inline, we treat the FunctionLiteral as a unit of compilation,
not as an expression, and as such the FunctionLiteral doesn't have any
meaningful ID.  The right thing to do is not to access the ID when
printing the hydrogen expression.

R=svenpanne@chromium.org, vegorov@google.com
BUG=v8:3680
LOG=N

Review URL: https://codereview.chromium.org/716793003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Classes: Add support for arguments in default constructor

This is currently done by generating a default constructor that looks
like this:

  constructor() {
    %DefaultConstructorSuperCall();
  }

The a runtime function implements the logic which is pretty similar to
Runtime_Apply except that it uses the [[Prototype]] of the current
function.

BUG=v8:3672
LOG=Y
R=dslomov@chromium.org

Review URL: https://codereview.chromium.org/692333011

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge remote-tracking branch 'upstream/bleeding_edge' into bleeding_edge