- 13 Feb, 2014 14 commits
-
-
vegorov@chromium.org authored
Instead of tracking simple absolute offset from the start of the script like other places do, track a pair of (inlining id, offset from the start of inlined function). This enables us to pinpoint with inlining path an instruction came from. Previously in multi-script environments we emitted positions that made very little sense because inside a single optimized function they would point to different scripts without a way to distinguish them. Start dumping the source of every inlined function to make possible IR viewing tools with integrated source views as there was previously no way to acquire this information from IR dumps. We also dump source position at which each inlining occured. Tracked positions are written into hydrogen.cfg as pos:<inlining-id>_<offset>. Flag --emit-opt-code-positions is renamed by this change into --hydrogen-track-positions to better convey it's meaning. In addition this change assigned global unique identifier to each optimization performed inside isolate. This allows to precisely match compilation artifacts (e.g. IR and disassembly) and deoptimizations. BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/140683011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
Return on the polymorphic hard deopt case to ensure we don't polute phis with fake type information. R=ishell@chromium.org Review URL: https://codereview.chromium.org/163403003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
m.m.capewell@googlemail.com authored
This fixes mjsunit/sin-cos. There are further int32 accesses being investigated. BUG= R=jochen@chromium.org Review URL: https://codereview.chromium.org/163553005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
BUG=v8:3104 R=hpayer@chromium.org LOG=y Review URL: https://codereview.chromium.org/143803007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alph@chromium.org authored
BUG=341741 LOG=N R=dslomov@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/163593002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=jarin@chromium.org Review URL: https://codereview.chromium.org/138953018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/162903005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=marja@chromium.org Review URL: https://codereview.chromium.org/163233003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
BUG=v8:3153 LOG=N R=jochen@chromium.org Review URL: https://codereview.chromium.org/163243003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/163263002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexandre.rames@arm.com authored
This fixes potential issues that would appear when trying to insert a breakpoint from JavaScript. Without this, computing the mapping of addresses between versions of the code with and without debug slots could be off by an instruction, trigerring nasty bugs. R=jochen@chromium.org Review URL: https://codereview.chromium.org/139983007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=machenbach@chromium.org TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/162853003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/163213002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG=v8:3144 LOG=N Review URL: https://codereview.chromium.org/162983003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Feb, 2014 26 commits
-
-
rafaelw@chromium.org authored
This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue". It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to -schedule a microtask (EnqueueExternalMicrotask) -run the microtask queue (RunMicrotasks) -control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks). R=dcarney@chromium.org, rossberg@chromium.org, dcarney, rossberg, svenpanne BUG= Review URL: https://codereview.chromium.org/154283002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
plind44@gmail.com authored
Port r19323 (929c047) BUG= R=plind44@gmail.com Review URL: https://codereview.chromium.org/160713002 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Original CL: https://codereview.chromium.org/153823003 Review URL: https://codereview.chromium.org/153653007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
To properly do this, we'd have to iterate over CompareMaps (and their bodies) handling phis, until we have learned enough to decide which paths can be taken. For now, just disable learning from phis in loop headers. BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/147023005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
BUG=v8:3158 LOG=N R=ulan@chromium.org Review URL: https://codereview.chromium.org/160633002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/160353003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/148063008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alph@chromium.org authored
BUG=v8:2342 R=dcarney@chromium.org, yurys@chromium.org, yurys LOG=N Review URL: https://codereview.chromium.org/143283015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
Make prev and next pointer in pages list AtomicWords and access them using acquire/release semantics. BUG= R=jarin@chromium.org Review URL: https://codereview.chromium.org/150413009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=ishell@chromium.org BUG= Review URL: https://codereview.chromium.org/137863005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/153823003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/159513004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
R=rodolph.perfetta@arm.com Review URL: https://codereview.chromium.org/153823012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
R=danno@chromium.org Review URL: https://codereview.chromium.org/138953017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
This makes the evaluation order consistent between full codegen and Hydrogen (so that deopt does not screw up stack). R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/159983008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
- Remove arch specific check macros - Remove duplicate code in code-stubs.h - Remove flag check in bootstrap.cc which was introduced for A64 bringup - Remove A64 specific test message expectations R=rodolph.perfetta@arm.com, ulan@chromium.org Review URL: https://codereview.chromium.org/134333011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/156603007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/155843006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/152953004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
BUG=none TBR=ulan@chromium.org LOG=n Review URL: https://codereview.chromium.org/160353002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/157033012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
Notes: - PreParser::Scope was a weird combination of Parser::FunctionState and Scope. Split it into two (PreParser::FunctionState and PreParser::Scope). This is necessary for unifying the Parser and the PreParser. - Scopes take care of language mode and tracking "with". - FunctionStates take care of counting material literal indexes, properties etc. and tracking generators. - PreParser::Scope::InsideWith was a hack to make a FunctionState-like object take care of tracking "with". It's now the responsibility fo PreParser::Scope and Scope. - PreParser::ScopeType is unnecessarly, there is already a ScopeType enum in v8globals.h. - Renamed scope stack variables so that they're consistent in Parser and PreParser. - Parser::FunctionState and Parser::BlockState had an unnecessary dependency to the Parser; they only need a couple of things from Parser. Broke the dependency. R=ulan@chromium.org BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/148293011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
TBR=ulan@chromium.org BUG=none LOG=n Review URL: https://codereview.chromium.org/160073007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
This change is trivial (was probably overlooked when ParserBase was created). R=yangguo@chromium.org BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/150943008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexandre.rames@arm.com authored
- For the LDP/STP TODO: The arguments need dereferencing, so using LDP/STP would require some additional checks. - For the constant pools TODO: Unless we need to, there is no benefit from trying to generate constant pools more often, as it would likely only pollute the I-cache. R=ulan@chromium.org Review URL: https://codereview.chromium.org/151363004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jacob.bramley@arm.com authored
BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/134083011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-