- 19 Jan, 2016 3 commits
-
-
bmeurer authored
The Object.getOwnPropertyNames method always calls into C++ anyway, so there's no point in having the JavaScript wrapper around at all. Drive-by-fix: Inline GetOwnEnumerablePropertyNames into its single call site. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1605803002 Cr-Commit-Position: refs/heads/master@{#33380}
-
bmeurer authored
The implementation of Object.getOwnPropertyDescriptor always called into C++ anyway, so there's no need to have this JavaScript wrapper around at all. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1606783002 Cr-Commit-Position: refs/heads/master@{#33379}
-
v8-autoroll authored
Rolling v8/tools/clang to c3b604840a63c06fa1c0c652119860e97fd57abe TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1601523006 Cr-Commit-Position: refs/heads/master@{#33378}
-
- 18 Jan, 2016 29 commits
-
-
verwaest authored
The old mechanism was a left-over from a previous time where the runtime would rely on the presence or absence of the setter to figure out whether or not the property is mutable. This is unnecessary by now. Review URL: https://codereview.chromium.org/1600923002 Cr-Commit-Position: refs/heads/master@{#33377}
-
verwaest authored
Previously MakeModuleExport invalidly set "all-can-*" to true. Also module export setters need to throw (in strict-mode) according to ES6 9.4.6.6 and 9.4.6.9. BUG= Review URL: https://codereview.chromium.org/1602753002 Cr-Commit-Position: refs/heads/master@{#33376}
-
Ben L. Titzer authored
R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/1603683002 . Cr-Commit-Position: refs/heads/master@{#33375}
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1601843002 Cr-Commit-Position: refs/heads/master@{#33374}
-
mstarzinger authored
This adds a handler table field to the header of our BytecodeArray objects. The field will eventually hold a range-based handler table similar to full-codegen code, to support exception handlong within interpreted code. R=oth@chromium.org BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1606493002 Cr-Commit-Position: refs/heads/master@{#33373}
-
titzer authored
LOG=Y BUG=chromium:575167 Review URL: https://codereview.chromium.org/1576953002 Cr-Commit-Position: refs/heads/master@{#33372}
-
mythria authored
VisitObjectLiteral has two parts. First it creates a literal and then sets properties or accessor properties. Setting properties requires a runtime call and it expects the literal object which was created in the first part is contiguous with other registers it allocates. Since these are allocated in a different scope they are not always contiguous. This causes problems with mjsunit/setter-on-constructor-prototype.js. This cl fixes by allocating contiguous registers in the inner scope. Literal value is copied into the newly allocated register so that all the required registers are always contiguous. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1588903002 Cr-Commit-Position: refs/heads/master@{#33371}
-
Ben L. Titzer authored
R=ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1608543002 . Cr-Commit-Position: refs/heads/master@{#33370}
-
ahaas authored
Revert of [turbofan] Implement rounding of floats on x64 and ia32 without sse4.1. (patchset #2 id:20001 of https://codereview.chromium.org/1584663007/ ) Reason for revert: Code is incorrect for -0. Original issue's description: > [turbofan] Implement rounding of floats on x64 and ia32 without sse4.1. > > The implementation sets the rounding mode flag and then uses the > cvtsd2si and cvtsi2sd instructions (convert between float and int) to do > the rounding. Input values outside int range either don't have to be > rounded anyways, or are rounded by calculating input + 2^52 - 2^52 for > positive inputs, or input -2^52 + 2^52 for negative inputs. The original > rounding mode is restored afterwards. > > R=titzer@chromium.org > > B=575379 > > Committed: https://crrev.com/fa5d09e547abe79a8c82f780deb980c53ad78beb > Cr-Commit-Position: refs/heads/master@{#33367} TBR=titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1593313010 Cr-Commit-Position: refs/heads/master@{#33369}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1601743002 Cr-Commit-Position: refs/heads/master@{#33368}
-
ahaas authored
The implementation sets the rounding mode flag and then uses the cvtsd2si and cvtsi2sd instructions (convert between float and int) to do the rounding. Input values outside int range either don't have to be rounded anyways, or are rounded by calculating input + 2^52 - 2^52 for positive inputs, or input -2^52 + 2^52 for negative inputs. The original rounding mode is restored afterwards. R=titzer@chromium.org B=575379 Review URL: https://codereview.chromium.org/1584663007 Cr-Commit-Position: refs/heads/master@{#33367}
-
titzer authored
R=bradnelson@chromium.org, ahaas@chromium.org LOG=Y BUG=chromium:575372 Review URL: https://codereview.chromium.org/1573213002 Cr-Commit-Position: refs/heads/master@{#33366}
-
nikolaos authored
This became temporarily a big issue, because spreads are desugared into do-expressions. This patch fixes the problem with having spreads as parameter initializers in arrow expressions, e.g., this line would crash: [], ((x = [...[42]]) => x)(); R=rossberg@chromium.org BUG=chromium:578038 LOG=N Review URL: https://codereview.chromium.org/1581403007 Cr-Commit-Position: refs/heads/master@{#33365}
-
verwaest authored
Review URL: https://codereview.chromium.org/1600353003 Cr-Commit-Position: refs/heads/master@{#33364}
-
cbruni authored
In many places we over-specify runtime-calls by explicitly mentioning again the argument count. Except for var-args runtime-functions we can easily deduce this from the parameters in runtime.h. BUG= Review URL: https://codereview.chromium.org/1596293003 Cr-Commit-Position: refs/heads/master@{#33363}
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1603533002 Cr-Commit-Position: refs/heads/master@{#33362}
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1593713002 Cr-Commit-Position: refs/heads/master@{#33361}
-
neis authored
BUG=v8:4163,v8:4630 LOG=y R=rossberg Review URL: https://codereview.chromium.org/1590873002 Cr-Commit-Position: refs/heads/master@{#33360}
-
cbruni authored
Proxy. If a constructable Proxy changes the target's prototype during the prototype lookup the target's initial map stays uninitialized half-way during object construction. LOG=n BUG=chromium:578039 Review URL: https://codereview.chromium.org/1586203003 Cr-Commit-Position: refs/heads/master@{#33359}
-
jochen authored
BUG=chromium:571365 R=verwaest@chromium.org,neis@chromium.org LOG=n Review URL: https://codereview.chromium.org/1587633002 Cr-Commit-Position: refs/heads/master@{#33358}
-
rmcilroy authored
Make ForInPrepare take a kRegTriple8 operand and ForInNext take kRegPair8 operand for cache state. This is to ensure that the cache state output of ForInPrepare is in consecutive registers to allow us to deopt the ForInPrepare node from TF->Ignition (to be done in a followup CL). BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1584813002 Cr-Commit-Position: refs/heads/master@{#33357}
-
neis authored
R=bmeurer@chromium.org BUG=chromium:578775 LOG=n Review URL: https://codereview.chromium.org/1605483002 Cr-Commit-Position: refs/heads/master@{#33356}
-
mythria authored
Adds support for variable and function declarations in lookup slots to the interpreter. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1583783003 Cr-Commit-Position: refs/heads/master@{#33355}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1595403003 Cr-Commit-Position: refs/heads/master@{#33354}
-
mstarzinger authored
This removes the need to pass in the current unoptimized code when requesting optimized code for a function. Note that the notion of unoptimized code becomes moot when optimizing from the interpreter bytecode, hence the API should not encode such a dependency. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1588293005 Cr-Commit-Position: refs/heads/master@{#33353}
-
zhengxing.li authored
port 84f8a506 (r33334) original commit message: Adds a ForInPrepare Runtime function which returns a triple of cache_type, cache_array and cache_length. This requires adding support to CEntryStub to call runtime functions which return a ObjectTriple - a struct containing three Object* pointers. Also did some cleanup of the x64 CEntryStub to avoid replicated code. Replaces the interpreter's use of the ad-hock InterpreterForInPrepare Runtime function with ForInPrepare in preparation for fixing deopt in BytecodeGraphBuilder for ForIn (which will be done in a followup CL). MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com>. BUG= Review URL: https://codereview.chromium.org/1603493002 Cr-Commit-Position: refs/heads/master@{#33352}
-
zhengxing.li authored
port e06f7d78 (r33347) original commit message: The new operator converts an int32 input to float32. If the input cannot be represented exactly in float32, the value is rounded using the round-ties-even rounding mode (the default rounding mode). I provide implementations of the new operator for x64, ia32, arm, arm64, mips, mips64, ppc, and ppc64. BUG= Review URL: https://codereview.chromium.org/1597403002 Cr-Commit-Position: refs/heads/master@{#33351}
-
bmeurer authored
The runtime function is no longer used and obsolete by now. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1598113003 Cr-Commit-Position: refs/heads/master@{#33350}
-
mtrofin authored
We don't need to treat as "spills in deferred blocks" ranges that have no spill range, or that have a spill operand. Review URL: https://codereview.chromium.org/1597883002 Cr-Commit-Position: refs/heads/master@{#33349}
-
- 17 Jan, 2016 1 commit
-
-
v8-autoroll authored
Rolling v8/tools/clang to 908392433b14b2ffe86bd1c791531816a65b7378 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1593213002 Cr-Commit-Position: refs/heads/master@{#33348}
-
- 16 Jan, 2016 3 commits
-
-
ahaas authored
The new operator converts an int32 input to float32. If the input cannot be represented exactly in float32, the value is rounded using the round-ties-even rounding mode (the default rounding mode). I provide implementations of the new operator for x64, ia32, arm, arm64, mips, mips64, ppc, and ppc64. R=titzer@chromium.org, v8-arm-ports@googlegroups.com, v8-mips-ports@googlegroups.com, v8-ppc-ports@googlegroups.com Review URL: https://codereview.chromium.org/1589363002 Cr-Commit-Position: refs/heads/master@{#33347}
-
ahaas authored
The new operator converts a float32 input to int32 through truncation. I provide implementations of the new operator for x64, ia32, arm, arm64, mips, mips64, and x87. @v8-ppc-ports, can you please take care of the ppc implementation? R=titzer@chromium.org, v8-arm-ports@googlegroups.com, v8-mips-ports@googlegroups.com, weiliang.lin@intel.com Review URL: https://codereview.chromium.org/1583323004 Cr-Commit-Position: refs/heads/master@{#33346}
-
adamk authored
This may have made more sense in the old module design (where "unification" was a thing), but as-is it's only used for a few asserts in debug mode. These asserts don't make much sense inside ModuleDescriptor; instead, as the modules implementation is fleshed out, I expect the appropriate replacement asserts to show up at the use of the ModuleDescriptor. Review URL: https://codereview.chromium.org/1598433006 Cr-Commit-Position: refs/heads/master@{#33345}
-
- 15 Jan, 2016 4 commits
-
-
adamk authored
This includes anonymous Function, Generator, and Class declarations when preceded by 'export default'. Parsing only at the moment, nothing useful is done with the parsed Function/ClassLiteral. BUG=v8:1569 LOG=n Review URL: https://codereview.chromium.org/1589173002 Cr-Commit-Position: refs/heads/master@{#33344}
-
mbrandy authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1590423002 Cr-Commit-Position: refs/heads/master@{#33343}
-
mbrandy authored
Port 84f8a506 Original commit message: Adds a ForInPrepare Runtime function which returns a triple of cache_type, cache_array and cache_length. This requires adding support to CEntryStub to call runtime functions which return a ObjectTriple - a struct containing three Object* pointers. Also did some cleanup of the x64 CEntryStub to avoid replicated code. Replaces the interpreter's use of the ad-hock InterpreterForInPrepare Runtime function with ForInPrepare in preparation for fixing deopt in BytecodeGraphBuilder for ForIn (which will be done in a followup CL). R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1586153004 Cr-Commit-Position: refs/heads/master@{#33342}
-
mbrandy authored
Port c86f1897 Original commit message: When derived constructors return a non-object (or not undefined) we currently throw an exception directly in the callee context. This was achieved by desugaring the return statement for derived classes. To be spec compliamnt a separate ConstructStubForDerived is introduced. Instead of trowing directly, the desugared return statement inside a derived constructor only returns an integer to indicate an incompatible result. R=cbruni@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:4509 LOG=n Review URL: https://codereview.chromium.org/1595593002 Cr-Commit-Position: refs/heads/master@{#33341}
-