tree c573f121021cf1e0f87e2429eeeaa812c3652188
parent 68c0578df504b841f6c72f84c9c6ca136f9e2a9d
author jkummerow@chromium.org <jkummerow@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00> 1346863490 +0000
committer jkummerow@chromium.org <jkummerow@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00> 1346863490 +0000

Merged r12434, r12435, r12440, r12441, r12443, r12444, r12445, r12446 into trunk branch.

Support register as right operand in min/max support.

Fixed test expectation.

Add build system infrastructure for ENABLE_EXTRA_CHECKS flag (not used yet)

Fix missing colon in common.gypi

Push stacktrace and die if the receiver is of unknown type.

Disable accessor inlining (due to broken deopts)

Add empty-handle checks to API functions (#ifdef ENABLE_EXTRA_CHECKS)

Check the return value of API calls on ia32 and x64.

R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10910093

git-svn-id: http://v8.googlecode.com/svn/trunk@12448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
